
- •1. Подключение к серверам баз данных
- •1.1. Способы подключения к базе данных
- •1.2. Подключение к базе данных при помощи компонента Database
- •1.3. Доступ к базам данных при помощи средств dbExpress
- •2. Обзор компонентов dbExpress
- •2.1. Компонент sqlConnection
- •2.2. Компонент sqlDataSet
- •2.3. Компонент solMonitor
- •2.4. Компонент SimpleDataSet
Лекция 11
Доступ к SQL-серверам из приложений Delphi
Введение
1. Подключение к серверам баз данных
1.1. Способы подключения к базе данных
1.2. Подключение к базе данных при помощи компонента Database
1.3. Доступ к базам данных при помощи средств dbExpress
2. Обзор компонентов dbExpress
2.1. Компонент SQLConnection
2.2 Компонент SQLDataSet
2.3 КомпонентSOLMonitor
2.4 Компонент SimpleDataSet
Заключение
Введение
Приложения, предназначенные для взаимодействия с SQL-серверами, состоят из следующих элементов:
элементов пользовательского интерфейса;
• компонентов, отвечающих за работу с наборами данных;
• компонентов, соединяющих перечисленные выше элементы друг с другом и с самой базой данных.
Несмотря на то, что в приложениях могут использоваться различные схемы взаимодействия компонентов и серверов баз данных, все их можно описать при помощи обобщенной схемы, представленной на рис. 12.1.
Как показано на рис. 12.1, компоненты, предназначенные для работы с наборами данных, а также компоненты, которые используются для подключения наборов данных к другим частям приложения, лучше размещать в модулях данных. Это делает приложение более гибким, и, кроме того, один и тот же модуль данных можно использовать в различных приложениях.
Рис. 12.1. Обобщенная схема взаимодействия приложения с SQL-сервером
1. Подключение к серверам баз данных
Естественно, разработчикам баз данных в первую очередь хочется знать, как с помощью Delphi установить соединение с собственноручно созданной базой данных. Для этого используется несколько методик.
1.1. Способы подключения к базе данных
Компоненты, предназначенные для работы с наборами данных, должны подключаться к SQL-серверам. Обычно для этого используют какой-либо компонент соединения (подключения к базам данных). Каждому из этих компонентов соответствует класс, производный от класса TCustornConnection. Для различных видов баз данных поддерживаются следующее типы компонентов подключения.
Компонент Database предназначен для подключения наборов данных средствами BDE. Этот вид подключения будет кратко рассмотрен в следующем разделе.
Компонент ADOConnection предназначен для подключения таких баз данных ADO как Microsoft Access и Microsoft SQL. На этом занятии подключение ADOConnection не рассматривается.
Компонент SQLConnection предназначен для подключения наборов данных, ориентированных на использование средств dbExpress. Наборы данных dbExpress являются однонаправленными. Это означает, что в них можно перемещаться от записи к записи только в одном направлении. К таким наборам данных относятся следующие компоненты: SQLDataset, SQLTable, SQLQuery и SQLStoredProc. На следующем занятии, в основном, рассматривается именно этот способ подключения.
Компонент IBDatabase предназначен для подключения наборов данных, ориентированных на использование средств InterBase Express. Специально InterBase Express в этом курсе не рассматривается, поскольку большая часть его функциональных возможностей напоминает подключения других видов.
Каждый из этих компонентов обладает общими функциями, реализованными в классе TCustomConnection:
Подключение к базе данных и отключение от нее.
Регистрация пользователя при подключении и поддержка установленного
защищенного соединения.
Работа с наборами данных.
1.2. Подключение к базе данных при помощи компонента Database
Для подключения к SQL-серверам при помощи средств BDE можно воспользоваться компонентом Database, расположенным на вкладке BDE. Основными свойствами этого компонента являются AliasName, DatabaseName, LoginPrompt и Params.
В свойстве AliasName можно указать предварительно созданный псевдоним BDE, соответствующий той или иной базе данных.
В свойстве DatabaseName указывается непосредственно название базы данных. Если свойство AliasName не содержит никакого значения, тогда в свойстве DatabaseName должен быть указан полный путь к файлу базы данных.
Если свойство LoginPrompt имеет значение False, то при подключении к базе данных не используется явный запрос на ввод имени пользователя и пароля. В этом случае имя пользователя и пароль должны быть определены в списке параметров Params. Если же свойство LoginProrn.pt имеет значение True, то при подключении к базе данных будет выдан запрос на ввод имени пользователя и пароля, независимо от того, какие значения указаны в свойстве Params.
В качестве примера можно рассмотреть подключение к базе данных employee.gdb, входящей в поставку Delphi. Этой базе данных соответствует псевдоним BDE IBLocal. Таким образом, для подключения к ней достаточно присвоить свойству Database. AliasNarne значение IBLocal, свойству Database. DatabaseName значение employee.gdb, а затем установить подключение, присвоив свойству Connected значение True.