Мастеры и средства конструирования позволяют легко обращаться к данным из программ на
Visual J++. Добавив на свою форму соответствующие WFC-элементы, Вы быстро настроите
их, чтобы они считывали и отображали данные так, как Вам надо. Кроме того, можно
просто запустить Data Form Wizard, и он автоматически сгенерирует форму, связанную
с данными.
Visual J+
+ предоставляет элементы управления, которые обращаются к данным через ADO (ActiveX
Data Objects) — модель доступа к данным, используемую в WFC-приложениях. К основным
ADO-объектам относятся Connection, Command и Recordset, позволяющие подключаться
к базе данных и извлекать из нее наборы записей. В ADO предусмотрен также компонент
DataSource, объединяющий функциональность объектов Connection, Command и Recordset.
Примечание
На панели Toolbox в Forms Designer доступен лишь элемент управления
DataSource — объектами Connection, Command и Recordset можно пользоваться только
в самом коде. О программировании с применением ADO-объектов см. раздел «ADO
Tutorial (VJ++)» в электронной документации Visual Studio (в части, относящейся
к Microsoft ActiveX Data Objects).
ADO поддерживает
простое связывание с данными через компонент DataBinder, который связывает
поле, указанное с помощью Recordset или DataSource, со свойством WFC-элемента.
Кроме того, в Visual J+ + имеются элементы управления, обеспечивающие комплексное
связывание с данными, например DataGrid и DataNavigator, — они взаимодействуют
с набором записей напрямую. Подробнее о связывании с данными см. главу 18 «Связывание
с данными в WFC». Для организации доступа к данным Вы можете либо запустить
Data Form Wizard, либо выполнить в Forms Designer следующие операции:
Подробнее
об ADO см. раздел «Getting Started with ADO 2.0» в электронной документации
Visual Studio (в части, относящейся к Microsoft ActiveX Data Objects). О предоставляемых
Visual Studio средствах доступа к данным через СОМ см. раздел «Choosing
the Right Data Access Technology» в электронной документации Visual Studio.
Data Form
Wizard позволяет автоматически генерировать форму, связанную с полями базы данных.
Он извлекает данные через ADO и поддерживает базы данных Microsoft Access (MDB-файлы)
по механизму ODBC.
Чтобы
запустить Data Form Wizard:
Примечание
Data Form Wizard запускается и в том случае, когда Вы создаете связанное
с данными приложение, используя Application Wizard.
На стадии
Database Type работы мастера Data Form Wizard Вы задаете формат своей
базы данных.
Чтобы
задать формат базы данных:
Примечание
Хотя к базе данных Microsoft Access можно подключиться через драйвер
Microsoft Access ODBC, выбор формата Access на стадии Database Type обеспечит
большую эффективность.
Если на стадии
Database Type Вы выбрали формат Access, Data Form Wizard перейдет
на стадию Database, что позволит задать конкретный MDB-файл.
Чтобы
указать MDB-файл:
Если на стадии
Database Type Вы выбрали формат ODBC, Data Form Wizard перейдет
на стадию Connection Information, что позволит указать информацию, необходимую
для подключения к данным по механизму ODBC, в том числе имя источника данных
(DSN), базу данных и драйвер.
В следующих
процедурах описаны разные способы подключения к базе данных через ODBC.
Чтобы
подключиться к базе данных, используя созданный Вами DSN:
Чтобы
подключиться к базе данных, используя базовое DSN:
Чтобы
подключиться к базе данных, используя определенный драйвер:
Чтобы
подключиться к серверной базе данных:
Указав всю
информацию, необходимую для подключения, щелкните кнопку Next и сообщите мастеру
параметры создаваемой формы.
На стадии
Form мастер Data Form Wizard позволяет задать имя формы и определить
ее разметку.
Чтобы
указать параметры формы:
На стадии
Record Source Вы выбираете поля, связываемые с элементами управления
на форме.
Примечание
Если на стадии Form Вы выбрали разметку Master/ Detail
Data Form Wizard предлагает стадии Master Record Source и Detail Record
Source. В этом случае на стадии Master Record Source
действуйте в соответствии со следующей процедурой, затем щглкните кнопку
Next и повторите ту же процедуру на стадии Detail Record Source.
Чтобы
задать связываемые поля:
Кнопка |
Описание |
||
> |
Перемещает поле,
выбранное в списке Available fields, в список Selected fields. Это
поле будет связано с элементом управления на форме. |
||
>> |
Перемещает все
поля из списка Available fields в список Selected fields. Они будут
связаны с элементами управления на форме. |
||
< |
Перемещает поле,
выбранное в списке Selected fields, в список Available fields. Это
поле не будет связано с элементом управления на форме. |
||
<< |
Перемещает все
поля из списка Selected fields в список Available fields. Никакие
поля с элементами управления на форме не связываются. |
||
Примечание
Data Form Wizard не связывает поля с двоичными данными.
— или —
Если Вы выбрали для
формы разметку Master/Detail и закончили выбор источников главных
и зависимых записей, щелкните кнопку Next, чтобы определить отношение
«главная таблица — зависимая таблица».
Если на стадии
Form Вы выбрали разметку Master/Detail, Data Form Wizard перейдет
на стадию Record Source Relation, где Вы сможете определить отношение
«один-ко-многим» между источниками главных и зависимых записей.
Чтобы определить отношение между главной и зависимой таблицей:
Нa стадии
Control Selection мастер Data Form Wizard позволяет выбрать дополнительные
элементы управления, размещаемые на форме. Любой код, необходимый для этих элементов,
генерируется автоматически.
Чтобы поместить на форму дополнительные элементы управления:
Элемент управления |
Описание |
Add button | Позволяет добавлять новые записи в базу данных. |
Delete button | Позволяет удалять записи из базы данных. |
Update button | Позволяет обновить базу данных в соответствии с изменениями, произведенными на форме. |
Refresh button | Позволяет обновить форму в соответствии с последними изменениями в базе данных. |
Close button | Позволяет закрыть форму. |
Data navigator | Позволяет «пролистывать» записи.1, чтобы перейти на заключительную стадию. |
На стадии
Summary Вы можете просмотреть сводку выбранных Вами параметров и сохранить
их.
Чтобы
просмотреть и сохранить выбранные параметры:
Data Form
Wizard — средство, ускоряющее разработку формы с элементами управления, связанными
с полями базы данных. Если Вы хотите самостоятельно создать такую форму, начните
со вставки на нее элемента управления DataBinder или DataGrid.
Для доступа
к данным Visual J++ предоставляет в Forms Designer элемент управления DataSource,
который позволяет подключаться к базе данных и извлекать наборы записей.
Примечание
Для программной выборки набора записей можно также использовать объекты
Connection, Command и Recordset. Но Forms Designer поддерживает только DataSource.
О программировании с применением ADO-компонентов см. раздел «ADO Tutorial
(VJ++)» в электронной документации Visual Studio (в части, относящейся
к Microsoft ActiveX Data Objects).
Чтобы
извлечь данные с помощью элемента управления DataSource:
Примечание
Поскольку элемент DataSource позволяет лишь считывать, но не отображать
данные, он невидим в период выполнения Вашей программы.
— или —
Для прямого доступа к MDB-файлу Microsoft Access без ODBC:
- перейдите на вкладку Provider и выберите Microsoft Jet 3.51 OLE DB Provider;
- перейдите на вкладку Connection. В первом разделе введите полное (вместе с путем) имя своей базы данных или щелкните кнопку с многоточием и найдите нужный файл. А во втором — введите имя пользователя и пароль (если требуется).
Теперь, когда
Вы считали набор записей, свяжите его с элементом управления DataBinder или
DataGrid.
Связывание
данных с элементом управления DataBinder
DataBinder
связывает поле из набора записей со свойством другого элемента управления. В
результате этому свойству автоматически присваивается значение поля из текущей
записи. Следующая процедура показывает, как связать поле с текстовым свойством
элемента управления Edit.
Чтобы
связать элемент управления DataBinder с набором записей:
Примечание
Как и DataSource, DataBinder в период выполнения не виден, поскольку
он лишь связывает с данными другие элементы.
Чтобы
определить связи, применяя страницу свойств:
Чтобы
определить связи через редактор связей:
Определив
все связи, добавьте на форму элемент управления DataNavigator для перехода по
записям. Кроме того, Вы можете указать формат для связей с числовыми данными,
датами или Булевыми значениями.
Более подробную
информацию об элементе управления DataBinder и примеры его программирования
см. в разделе «Компонент DataBinder» главы 18 «Связывание
с данными в WFC».
Связывание
данных с элементом управления DataGrid
DataGrid
связывается с полями из набора записей и отображает содержащиеся в них данные
в виде таблицы. Он автоматически получает данные, как только Вы записываете
в его свойство dataSource имя элемента управления DataSource.
Данные, отображаемые
в DataGrid, всегда синхронизируются с данными в наборе записей (и наоборот).
Свойства cursorType и lockType набора записей определяют, будут ли данные в
этом наборе динамически отражать состояние базы данных и можно ли его модифицировать.
Чтобы
связать элемент управления DataGrid с набором записей:
О программном
управлении элементом DataGrid см. Microsoft Visual J++ 6.0 WFC Library Reference,
Part 1 («DataGrid Control» в пакете com.ms.wfc.data.ui).
Устанавливая
свойства элемента DataGrid в окне Properties, Вы настраиваете его внешний вид
и функциональность. Свой набор свойств есть и у каждой колонки сетки; Вы обращаетесь
к нему через свойства самой сетки.
Чтобы
получить доступ к свойствам колонки:
Добавление,
удаление и переупорядочение колонок
С этой целью
в DataGrid предусмотрен редактор колонок. Чтобы добавить, удалить и переупорядочить
колонки в сетке:
Примечание
Только что добавленная колонка ни с,чем не связана. Поэтому укажите
в ее свойстве boundFieldName имя поля из набора записей. (О том, как получить
доступ к свойствам колонки, см. предыдущий раздел.)
Примечание
Если Вы хотите лишь временно скрыть, а не окончательно удалить колонку из сетки,
установите ее свойство visible как false.
Связывая
данные с DataBinder или DataGrid, Вы можете задать определенный формат отображения
дат, а также числовых и Булевых значений. У каждой связи, поддерживаемой DataBinder,
и у каждой колонки в DataGrid имеется свойство dataFormat, которое и
позволяет определить формат.
Чтобы
получить доступ к свойству dataFormat:
— или —
Если Вы используете
DataGrid, раскройте его свойство columns в окне
Properties.
Чтобы
отформатировать числовые значения:
Чтобы
отформатировать значения дат (или времени):
Формат |
Описание |
||
Long |
Даты форматируются
в соответствии с параметрами Long Date в диалоговом окне Regional
Settings Properties, открываемом из Windows Control Panel. (Длинный
формат даты изначально предлагается в виде, например, Monday, March
9, 1998.) |
||
Short |
Формат по умолчанию.
Даты форматируются в соответствии с параметрами Short Date в диалоговом
окне Regional Settings Properties, открываемом
из Windows Control Panel. (Краткий формат даты изначально предлагается
в виде, например, 3/9/98.) |
||
Time |
Время форматируется
в соответствии с параметрами Long Time в диалоговом окне Regional
Settings Properties, открываемом из Windows Control Panel. (Длинный
формат времени изначально предлагается в виде, например, 2:45:05
P.M.) |
||
Custom |
Даты или время
отображаются в нестандартном формате. Присвойте строку, определяющую
этот формат, свойству customFormat. Информацию на эту тему см. в Microsoft
Visual J+ + 6.0 WFC Library Reference, Part 1 («DateDataFormat.setCustomFormat»
в пакете com.ms.wfc.data.ui). |
||
Примечание
Значение свойства customFormat используется, только когда свойство format
установлено как Custom. Иначе значение свойства customFormat просто игнорируется.
Чтобы
отформатировать Булевы значения:
Элемент управления
DataNavigator позволяет осуществлять смену текущей записи в наборе записей.
Используйте этот элемент совместно с другим элементом, связанным с данными,
— например, DataBinder. Последний связывает поле из набора записей со свойством
другого элемента управления. Это свойство получает данные из текущей записи,
каковой по умолчанию является первая запись в наборе. Используя DataNavigator,
связанный с тем же набором записей, можно перейти к другой записи.
Чтобы
переходить по записям в наборе с помощью элемента управления DataNavigator:
Кнопка |
Направление
перехода |
||
<< < > >> |
К первой записи К предыдущей записи К следующей записи К последней записи |
||
О программном управлении элементом DataNavigator см. Microsoft Visual j++ 6.0 WFС Library Reference, Part 1 («DataNavigator Control» в пакете com.ms.wfc.data.ui).