Доступ к данным по технологии ADO
Разработанная корпорацией MicroSoft технология ADO (ActiveX Data Objects) обеспечивает более универсальный доступ к любым данным (базы данных, обычные файлы, электронная почта, мультимедиа и др.) без использования механизма BDE. Для каждого типа данных (СУБД) существует программа‑поставщик (OLE DB Provider) через которую организуется доступ к данным. Приложение, использующее технологию ADO, не зависит от конкретной СУБД, т.е. при необходимости можно сменить СУБД, не изменяя кода приложения (свойство масштабирования приложения). Компоненты этой технологии находятся на панели ADO.
Рассмотрим использование компонентов на примере обработки таблицы «Uchjot stroek» базы данных «Учет строек.mdb» с СУБД Access. Рис.3.15.1. Страницы выбора поставщика OLE DB и соединения с базой данных
На странице Provider можно выбрать для СУБД Access поставщик Mocrosoft Jet OLE DB Provider или Microsoft OLE DB Provider for ODBC Drivers. Выберем последний как более универсальный и нажмем клавишу Next. На странице Connection установим переключатель Use connection string и нажмем кнопку Build для выбора нужного файла базы «Учет строек.mdb». Для проверки соединения нажмем кнопку Test Connection. Закроем все окна. Так как при доступе к базе не указываются имя пользователя и пароль, то установим свойства этого компонента LoginPrompt= False.
Компоненты этой технологии находятся на панели ADO. Рекомендуется создавать внешний источник данных ODBC. Командой Пуск/Настройка/Панель управления/Источники данных ODBC (32) запускается Администратор источников данных. Используя страницу Пользовательский DSN (источники доступны только текущему пользователю), Системный DSN (источники доступны всем пользователям) или Файловый DSN (файлы), можно установить доступ к конкретному файлу (базе данных, электронной таблице, текстовому файлу): указать DSN‑имя (для ссылки в программах), тип драйвера, пароль, имя пользователя и другую дополнительную информацию. Кнопками Добавить, Удалить и Настройка можно добавлять, удалять и изменять описания источников. При наличии внешнего источника данных имя источника указывается (путем выбора из списка внешних источников) для свойств DatabaseName (компонент Table), ConnectionString/Connection (компоненты ADOConnection, ADOTable) и для других соответствующих свойств компонентов, связанных с базами данных. Таким образом, однократное создание внешнего источника данных ODBC позволяет его многократное использование при разработке приложений на различных языках программирования, что существенно упрощает разработку и корректировку приложений.
Добавим на форму новый компонент ADOTable со свойствами: Connection =ADOConnection1, TableName =«Uchjot stroek», Active =True, Name =ADOTable1. Далее разместим компоненты: DataSource (со свойствами Name =DataSource1, DataSet =ADOTable1), DBGrid и DBNavigator (DataSource = DataSource1) (рис. 3.15.2).
Рис. 3.15.2. Изображение на форме компонентов и таблицы строек
Рассмотрим остальные компоненты панели ADO.
Основные свойства CommandText, CommandType, CursorType ‑ текст и тип выполняемой команды (таблица, SQL или хранимая процедура) или курсора. Connection, ConnectionString ‑ имя компонента связи и источника данных.
CursorLocation ‑ способ использования указателя: со стороны клиента (больше возможности, но медленная работа) или сервера. ExecuteOptions ‑ способы выполнения команд. MarshalOptions ‑ синхронизация клиентского и серверного наборов. ParamCheck =True ‑ список параметров подстраивается под команду SQL. Prepared =True - есть предварительная подготовка команды к выполнению. RecordCount, RecordSize ‑ число записей в наборе и размер записи. RecordSetState, RecordStatus ‑ состояние объекта ADO и текущей записи. Основные методы Clone(...), DeleteRecord(..) ‑ копирование набора, удаление записей. Requery(...) ‑ обновление набора (перезапуск команды SQL). Seek(...) ‑ поиск записи по текущему индексу. Supports(...) ‑ проверка на допустимость вида действия. Основные события OnEndOfRecordset ‑ достигнут конец набора. On Fetch/FieldChangeComplete ‑ завершена корректировка набора/поля. OnFetchProgress ‑ периодически генерируется в процессе корректировки. OnMoveComplete/OnWillMove ‑ выполненно/будет перемещение указателя. On Record/Recordset ChangeComplete ‑ запись/набор изменен. OnWillChange Field/Record/Recordset ‑ поле/запись/набор будет изменен.
Вопросы для самопроверки и контроля Вопросы для самопроверки 1. Что содержит модуль данных и для чего он используется? 2. Каково назначение компонента Table? 3. Каково назначение компонента DataSource? 4. Каково назначение компонентаDBGrid? 5. Каково назначение компонентаDBNavigator? 6. Каково назначение компонентаDBText?
7. Каково назначение компонентаDBEdit? 8. Каково назначение запросов? 9. Что такое «подзапрос»? 10. Каково назначение транзакции? 11. Каковы дополнительные возможности клиент‑серверных СУБД? Контрольные вопросы 1. Должны ли быть динамические поля в таблице? 2. Можно ли редактировать динамические поля? 3. Постоянные(виртуальные или псевдополя) поля должны быть в таблице? 4. Постоянные(виртуальные или псевдополя) поля можно редактировать? 5. Каково назначение базового запроса? 6. Допускается ли вложенность запросов? 7. Каково назначение компонента QuickRep? 8. Какая технология доступа к данным более универсальная: ADO (ActiveX Data Objects) или BDE (Borland Database Engine)?
Воспользуйтесь поиском по сайту: ![]() ©2015 - 2025 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|