В начало

«InterBase» через «SQLConnection»

 

            Суть: необходимо подключиться к базе данных «C:\INTERBASE\Apteka.gdb» в «Дельфи 7» через набор компонентов «dbExpress». База данных «Apteka.gdb» создана в СУБД «Interbase 6.5» и имеет таблицу «Dozirovki».

            Создаем новое приложение, на форму перетаскиваем компоненты с закладки «dbExpess»: SQLConnection, SQLTable.

            Настраиваем компонент «SQLConnection1». В окне настроек выбираем «IBConnection», т.к. база данных создана в «InterBase», указываем путь и имя БД в настройке «Database», также вводим Логин/пароль в полях: User_Name, Password.  Кроме того, уже в инспекторе объектов нужно указать «LoginPrompt = False». Можно проверить подключение к БД выбрав в настройках «Connected = True».

Рис. 1. Важные настройки компонента «SQLConnection1»

Рис. 1. Важные настройки компонента «SQLConnection

 

            Далее настраиваем компонент «SQLTable1», устанавливаем «SQLConnection = SQLConnection1», а также выбираем таблицу в настройке «TableName», указывая «Dozirovki».

            Если напрямую соединить компонент «SQLTable1» с компонентом «DataSource», а потом его, в свою очередь с «DBGrid1», то ничего хорошего не выйдет. Вместо этого при попытке активизировать подключения будет вылетать ошибка. Что означает мы обложались и выбрали неправильный путь.

Рис. 2. Ошибка «Operation not allowed on a unidirectional dataset»

Рис. 2. Ошибка «Operation not allowed on a unidirectional dataset»

 

            Чтобы избавиться таки от этой неприятной ошибки, нужно добавить еще пару компонентов: DataSetProvider, ClientDataSet. Добавляем их и все заново соединяем, но уже правильно.

Рис. 3. Расположение компонентов на форме

Рис. 3. Расположение компонентов на форме

 

п/п

Компонент

Настройка, значение

1

SQLConnection1

LoginPrompt = False

2

SQLTable1

SQLConnection = SQLConnection1

TableName = Dozirovki

3

DataSetProvider1

DataSet = SQLTable1

4

ClientDataSet1

ProviderName = DataSetProvider1

5

DataSource1

DataSet = ClientDataSet1

6

DBFrid1

DataSource = DataSource1

 

            Все соединяем и проверяем, установив «Active=True» у компонента «ClientDataSet1». Если все сделано правильно, то на компоненте «DBGrid1» появятся данные из таблицы «Dozirovki».

Рис. 4. Таблица «Dozirovki» в нашем приложении

Рис. 4. Таблица «Dozirovki» в нашем приложении

 

            Таким образом, мы подключились к базе данных «Apteka.gdb» и прочитали данные из таблицы «Dozirovki».