Помощь в написании студенческих работ
Антистрессовый сервис

Реализация ADO в Cbuilder

РефератПомощь в написанииУзнать стоимостьмоей работы

В первом случае компоненты используют свойство connectionString для прямого обращения к хранилищу данных. Во втором случае используется специальный компонент TADOconnection, который обеспечивает расширенное управление соединением и позволяет обращаться к данным нескольким компонентам одновременно. При открытии соединения необходимо вводить имя пользователя и его пароль. Появление стандартного… Читать ещё >

Реализация ADO в Cbuilder (реферат, курсовая, диплом, контрольная)

Механизм доступа к данным через ADO и многочисленные объекты, и интерфейсы реализованы в VCL Cbuilder в виде набора компонентов, расположенных на странице ADO.

Компонент TADOConnection вобрал возможности перечислителя, источника данных и сессии с возможностями обслуживания транзакций.

Текстовые команды ADO реализованы в компоненте TADocommand.

Наборы рядов (нотация Microsoft) можно получить при помощи компонентов TADOTable, TADOQuery, TADOStoredproc. Каждый из них реализует способ доступа к конкретному типу представления данных в хранилище. Далее по тексту применительно к компонентам Delphi совокупность возвращаемых из хранилища данных строк будем называть набором записей, что соответствует документации Inprise и стилю изложения предыдущих глав.

Набор свойств и методов компонентов ADO обеспечивает реализацию всех необходимых приложению БД функций. Способы использования компонентов ADO немногим отличаются от стандартных компонентов VCL доступа к данным /30/.

Однако при необходимости разработчик может использовать все возможности интерфейсов ADO, обращаясь к ним через совокупность объектов ADO. Ссылки на объекты имеются в компонентах (см. ниже).

Механизм соединения с хранилищем данных ADO.

Компоненты доступа к данным ADO могут использовать два варианта подключения к хранилищу данных. Это стандартный метод ADO и стандартный метод Cbuilder.

В первом случае компоненты используют свойство connectionString для прямого обращения к хранилищу данных. Во втором случае используется специальный компонент TADOconnection, который обеспечивает расширенное управление соединением и позволяет обращаться к данным нескольким компонентам одновременно.

Свойство Connectionstring предназначено для хранения информации о соединении с объектом ADO. В нем через точку с запятой перечисляются все необходимые параметры. Как минимум это должны быть имена провайдера соединения или удаленного сервера:

Connectionstring:='Remote Server=ServerName;Provider=ProviderName';

При необходимости указываются путь к удаленному провайдеру:

Connectionstring:='Remote Provider=ProviderName';

и параметры, необходимые провайдеру:

'User Name=UserName;Password=Password'.

Каждый компонент, обращающийся к хранилищу данных ADO самостоятельно, задавая параметры соединения в свойстве Connectionstring, открывает собственное соединение. Чем больше приложение содержит компонентов ADO, тем больше соединений может быть открыто одновременно.

Поэтому целесообразно реализовать механизм соединения ADO через специальный компонент — TADOconnection. Этот компонент открывает соединение, также заданное свойством Connectionstring (см. выше) и предоставляет разработчику дополнительные средства управления соединением.

Компонент TADOConnection.

Компонент TADOconnection предназначен для управления соединением с объектами хранилища данных ADO. Он обеспечивает доступ к хранилищу данных компонентам ADO, инкапсулирующим набор данных (см. ниже).

Применение этого компонента дает разработчику ряд преимуществ.

Все компоненты доступа к данным ADO обращаются к хранилищу данных через одно соединение Возможность напрямую задать объект провайдера соединения Доступ к объекту соединения ADO.

Возможность выполнять команды ADO.

Выполнение транзакций Расширенное управление соединением при помощи методов-обработчиков событий.

Соединение с хранилищем данных ADO устанавливается при помощи свойства Connectionstring (см. выше) И свойства Connection или методов Open и close по аналогии со стандартным компонентом Tdatabase. При необходимости провайдер соединения ADO определяется напрямую свойством provider. Если соединение по какой-либо причине не удается установить, в свойстве DefaultDatabase задается имя еще одного объекта соединения ADO.

При открытии соединения необходимо вводить имя пользователя и его пароль. Появление стандартного диалогового окна для этого управляется свойством Loginprompt (рис. 4.1.а). Без этого диалога для ввода параметров можно использовать свойство connectionstring (см. выше) или метод-обработчик onLogin.

Рис. 4.1.а форма настройки соединения ADO

Для выбора провайдера ADO и хранилища данных можно воспользоваться формой, которая вызывается двойным щелчком на компоненте, перенесенном на форму, или щелкнув на кнопке в поле редактирования свойства connectionstring в Инспекторе объектов /28/.

Здесь можно настроить соединение через свойство Connectionstring (переключатель Use Connection String) или загрузить параметры соединения из файла с расширением udl (переключатель Use Data Link File).

Файл udl (листинг 3.1.а) представляет собой обычный текстовый файл, в котором указывается название параметра и через знак равенства его значение. Параметры разделяются точкой с запятой.

[oledb]; Everything after this line is an OLE DB initstring.

Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:Program Files Vcoinmon FilesBorland SharedDataDBDEMOS.mdb.

При нажатии кнопки Build появляется диалоговое окно, в котором можно настроить параметры соединения вручную.

Первая страница позволяет выбрать провайдер для конкретного типа источника данных из числа провайдеров, установленных в системе (рис. 4.1.б).

Рис. 4.1.б. Диалоговое окно настройки параметров соединения на странице выбора провайдера

Рис. 4.1.в. Диалоговое окно настройки параметров соединения на странице выбора источника данных

Состав элементов управления следующих страниц зависит от типа источника данных. Рассмотрим процесс настройки на примере демонстрационной БД MS Access.

Страница Connection позволяет задать полный путь к файлу базы данных (расширение MDB) и имя и пароль пользователя (рис. 4.1.в).

Рис. 4.1.г. Диалоговое окно настройки параметров соединения на странице дополнительных параметров

Страница Advanced задает дополнительные параметры соединения. В зависимости от типа хранилища данных, некоторые элементы этой страницы могут быть недоступны (рис. 4.1.г).

Список Impersonation level определяет возможности клиентов при подключении в соответствии с полномочиями их ролей. В списке могут быть выбраны следующие значения:

Anonymous — роль клиента недоступна серверу;

Identify — роль клиента опознается сервером, но доступ к системным объектам заблокирован;

Impersonate — процесс сервера может быть представлен защищенным контекстом клиента;

Delegate — процесс сервера может быть представлен защищенным контекстом клиента, при этом сервер может осуществлять другие подключения.

Список Protection level позволяет задать уровень защиты данных. В списке могут быть выбраны следующие значения:

None — подтверждение не требуется;

Connect — подтверждение необходимо только при подключении;

Call — подтверждение источника данных при каждом запросе;

Pkt — подтверждение получения от клиента всех данных;

Pkt Integrity — подтверждение получения от клиента всех данных с соблюдением целостности;

Pkt Privacy — подтверждение получения от клиента всех данных с соблюдением целостности и защита шифрованием.

В поле Connect timeout можно задать время ожидания соединения в секундах. По истечении этого времени процесс прерывается.

Рис. 4.1.д. Диалоговое окно настройки параметров соединения на странице просмотра настроек

Список Access permissions задает права доступа к отдельным видам выполняемых операций. В списке можно выбрать следующие значения:

Read — только чтение;

ReadWrite — чтение и запись;

Share Deny None — полный доступ всем на чтение и запись;

Share Deny Read — чтение запрещено всем;

Share Deny Write — запись запрещена всем;

Share Exclusive — чтение и запись запрещена всем;

Write — только запись.

Страница All позволяет просмотреть и при необходимости изменить все сделанные настройки для выбранного провайдера (рис. 4.1.д). После подтверждения сделанных в диалоговом окне настроек из них формируется значение свойства ConnectionString.

Соединение может быть синхронным и асинхронным. Этот параметр определяется cвойством ConnectOptions.

Свойство:

type TconnectMode = (cmUnknown, cmRead, cmWrite, cmReadWrite, cmShareDenyRead, cmShareDenyWrite, cmShareExclusive, cmShareDenyNone);

property Mode: TconnectMode;

задает доступные для соединения операции:

cmUnknown — разрешение неизвестно или не может быть установлено;

cmRead — разрешение на чтение;

cmwrite — разрешение на запись;

cmReadWrite — разрешение на чтение и запись;

cmShareDenyRead — разрешение на чтение для других соединений запрещено;

cmShareDenyWrite — разрешение на запись для других соединений запрещено;

cmShareExclusive — разрешение на открытие для других соединений запрещено;

cmShareDenyNone — открытие других соединений с разрешениями запрещено.

Показать весь текст
Заполнить форму текущей работой