Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка БД.doc
Скачиваний:
7
Добавлен:
16.11.2019
Размер:
842.75 Кб
Скачать

2.2. Лабораторная работа № 2: доступ к базе данных InterBase c использованием dbExpress

Задание: Создать программу в Delphi, которая с помощью средств доступа dbExpress соединяется с базой данных. С помощью компонентов SQLDataSet, DataSetProvider, ClientDataSet, DataSource и DBGrid реализовать отображение данных из одной таблицы. Сделать форму вставки и изменения записи для одной из таблиц. Рекомендуется создавать форму ввода для справочных таблиц, если они присутствуют в схеме задания. Добавление и модификацию записей производить с использованием методов компонента SQLConnection. Выбор модифицируемой записи производить по ключевому полю таблицы.

Как вариант, для вставки и изменения записей воспользоваться методами компонентов клиентских наборов данных.

Выполнение.

Поместите на форму все компоненты, указанные в задании. Компоненты SQLConnection и SQLDataSet находятся на вкладке dbExpress, а DataSetProvider и ClientDataSet — на вкладке Data Access. Настройте компоненты следующим образом:

  1. Компонент SQLConnection:

  • свойству DriverName задайте значение InterBase;

  • откройте редактор свойства Params и укажите параметры Database, User_Name и Password. Например:

Database

User_Name

Password

d:\students\v-312\mybase.gdb

SYSDBA

masterkey

  • установите свойству LoginPrompt значение false;

  • установите свойству Connected значение True.

Примечание: описанные действия допустимы только при выполнении лабораторных работ. В реальных системах жесткое задание имени пользователя и пароля неприемлемо, т.к. может снизить безопасность приложения. Поэтому поля User_Name и Password следует оставлять пустыми.

Если вместо стандартного окна запроса имени пользователя и пароля вы хотите использовать свою форму, отключите свойство LoginPrompt и производите запрос в обработчике события BeforeConnect компонента SQLConnection. В этом случае параметры User_Name и Password устанавливаются во время выполнения в соответствии с данными, введенных пользователем.

  1. Компонент SQLDataSet:

  • в свойстве SQLConnection выберите имя компонента SQLConnection;

  • свойству CommandType установите значение cTable;

  • в свойстве CommandText пропишите имя вашей таблицы;

  • свойство Active установите в True;

  1. Компонент DataSetProvider: в свойстве DataSet выберите имя компонента SQLDataSet;

  2. Компонент ClientDataSet:

  • в свойстве ProviderName укажите имя компонента DataSetProvider;

  • свойство Active установите в True;

  1. Компонент DataSource: в свойстве DataSet укажите имя компонента ClientDataSet;

  2. Компонент DBGrid: выберите имя компонента DataSource в свойстве DataSource.

Если все действия выполнены верно, то еще во время разработки программы вы должны увидеть в DBGrid данные вашей таблицы.

Методы клиентского набора данных ClientDataSet для вставки и модификации записей аналогичны методам компонента Table технологии BDE. Это Insert, InsertRecord, Edit, Post и т.п. При работе с клиентским набором данных нужно учесть, что внесенные в данные изменения сохраняются на сервере только после вызова метода ApplyUpdates клиентского набора данных:

if ClientDataSet1.ApplyUpdates(0)=0 then

ClientDataSet1.Refresh

else

ShowMessage(‘Ошибка при сохранении’);

Параметром метода является максимальное число ошибок, при превышении которого дальнейшее внесение изменений будет прекращено.