Пример приложения ADO
Теперь попробуем применить на практике представленную в этой главе информацию о реализации ADO в Delphi. В качестве примера создадим простое приложение ADO Demo, которое "умеет" отображать пару таблиц БД, сохранять изменения при помощи групповых операций, сортировать записи и устанавливать фильтры на выбранные записи (рис. 19.9).
Рис. 19.9. Главное окно приложения ADO Demo
В качестве источника данных выберем файлы dBase, имеющиеся в демонстрационной базе данных Delphi \Program Files\Common Files\Borland Shared \Data. Для использования в приложении выберем две таблицы: INDUSTRY и MASTER. Они связаны между собой внешним ключом по полям IND_CODE и INDUSTRY соответственно.
Таблицу INDUSTRY можно редактировать, она инкапсулирована в компоненте tbiIndustry типа TADOTable и отображается в левом компоненте TDBGrid. А таблица MASTER инкапсулирована в компоненте tbIMaster, предназначена только для просмотра. Эти два компонента связаны отношением "ОДИН-КО-МНОГИМ" При помощи свойств MasterSource и MasterFields.
Листинг 19.2. Секция implementation модуля uMain приложения ADO Demo.
implementation uses IniFiles, FileCTRL; const slniFileName: String = 'ADODemo.ini'; sEmptyDefDB: String = 'Database path is empty'; sEmptyFilter: String = 'Records for filter is not selected'; {$R *.dfm} procedure TfmMain.FormShow(Sender: TObject); begin with TIniFile.Create(slniFileName) do try DefDBStr: = ReaDString('DefDB', 'DefDBStr1, "); edDefDB.Text: = DefDBStr; finally Free; end; SetLength(Bookmarks, 0); end; procedure TfmMain.FormClose(Sender: TObject; var Action: TCloseAction); begin with TIniFile.Create(slniFileName) do try WriteStringCDefDB', 'DefDBStr', edDefDB.Text); finally Free; end; end;