Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
подключение базы к delphi.doc
Скачиваний:
32
Добавлен:
15.09.2019
Размер:
328.19 Кб
Скачать

2. Работа с базой данных, созданной в access в delphi

2.1. Подключение базы данных к Delphi

1) На вкладке ADO палитры компонент Delphi (рис. 7) щелкнуть компоненту ADOСonnection и щелкнуть форму.

Рис. 7. Вкладка ADO

2) В Object Inspector в свойстве Connection String щелкнуть …, в открывшемся окне (рис. 8) щелкнуть кнопку Build

Рис. 8. Окно Connection String

3) В окне Свойства связи с данными (рис. 9) выбрать поставщика данных “Microsoft Jet 4.0 OLE DB Provider” и щелкнуть кнопку Далее.

(Аналогичным образом к Delphi подключаются другие базы данных. Например, для подключения базы данных SQL – сервера используется поставщик данных “Microsoft OLE DB Provider for SQL server”);

Рис. 9. Окно свойств связи с данными

4) В следующем окне (рис. 10) найти файл базы данных, в поле Выберите или введите имя базы данных, убрать путь к файлу и щелкнуть кнопку Проверить подключение.

Рис. 10. Окно выбора базы данных

При состоявшемся подключении появится окно подтверждения подключения (рис. 11).

Рис.11. Подтверждение подключения базы данных

2.2. Подключение таблиц базы данных к приложению Delphi

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

1) Щелкнуть компоненту ADOTable и щелкнуть форму;

в Object Inspector присвоить значения свойствам:

Connection:= ADOСonnection1;

Table Name:= <Имя таблицы>;

Active:= True.

2) На вкладке Data Access (рис. 12) щелкнуть компоненту DataSource и щелкнуть форму;

в Object Inspector присвоить значение свойству:

DataSet:= ADOTable1(2,3…);

Рис. 12. Вкладка Data Access

3) На вкладке Data Controls (рис. 13) щелкнуть компоненту DBGrid и щелкнуть форму;

в Object Inspector присвоить значение свойству:

DataSource:= DataSource1(2,3…);

Рис. 13. Вкладка Data Controls

4) Щелкнуть компоненту DBNavigator и щелкнуть форму;

в Object Inspector присвоить значение свойству:

DataSource:= DataSource1(2,3…).

2.3. Создание запросов

1) На вкладке ADO щелкнуть компоненту ADOQuery и щелкнуть форму;

в Object Inspector присвоить значение свойству:

Connection:= ADOСonnection1.

2) На вкладке Data Access щелкнуть компоненту DataSource и щелкнуть форму;

в Object Inspector присвоить значение свойству:

DataSet:= ADOQuery1.

3) На вкладке Data Controls щелкнуть компоненту DBGrid и щелкнуть форму;

в Object Inspector присвоить значение свойству:

DataSource:= DataSource<запроса>.

4) Создать в приложении кнопку Запрос, в которую поместить обработчик события с SQL запросом, используя операторы:

form1.ADOQuery1.SQL.Clear ;

form1.ADOQuery1.SQL.Text:=’<Текст SQL запроса>’;

form1.ADOQuery1.Active:=True;

или:

form1.ADOQuery1.SQL.Clear ;

form1.ADOQuery1.SQL.Add(’<Текст SQL запроса>’);

form1.ADOQuery1.Open;

2.4. Основные сведения о sql запросах

Любой SQL-оператор состоит из следующих трех элементов:

  • Объявления параметров – необязательные параметры, которые программа передает оператору SQL.

  • Команда – сообщает процессору запросов СУБД тип выполняемой операции, например, SELECT или DELETE.

  • Объявления опций – указывает на условия фильтрации, порядок группировки или сортировки обрабатываемых данных. В их число входят предложения WHERE, GROUP BY и ORDER.

Синтаксис оператора следующий:

[Объявление параметров] Команда [Опции]

С помощью этих двух элементов оператора (объявление параметров и опции) можно создавать запросы для выполнения самых разнообразных задач. Команды перечислены в табл. 2.

Таблица 2

Команда

Назначение

Delete From

Удаляет записи из таблицы

Insert Into

Добавляет в таблицу группу записей

Select

Выбирает группу записей и помещает их в динамический набор или таблицу

Update

Задает значения полям таблицы

Хотя тип операции определяет команда, объявления опций указывают на то, какие поля и записи следует обрабатывать.

Для связи между таблицами используется инструкция INNER JOIN.

Условие фильтрации в SQL-команде задается при помощи инструкции WHERE, общий синтаксис которого следующий: