Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

ADO-технология доступа к БД. Файл-серверные СУБД - файл 1.doc


ADO-технология доступа к БД. Файл-серверные СУБД
скачать (186 kb.)

Доступные файлы (1):

1.doc186kb.17.11.2011 09:19скачать


1.doc

Лабораторная работа № 1

ADO-технология доступа к БД. Файл-серверные СУБД

Цель работы: познакомиться с ADO-технологией доступа к БД, изучить подключение к файл-серверным СУБД из Delphi через ADO-соединение.

Ход работы:

Этап создания БД

  1. В соответствии с вариантом «Ателье обуви. Оформление заказов» создала базу данных в Microsoft Access (Рис.1).



Рис.1. Создание таблиц

  1. Установила связи (Рис.2).



Рис.2. Установление связей между таблицами

  1. Внесла данные в таблицы (Рис.3).



Рис.3. Заполнение таблиц

Этап подключения к БД

  1. Создала меню из нескольких форм. Для этого разместила на форме приложения компонент Main Menu и отредактировала его (Рис.4).



Рис.4. Создание меню на главной форме

  1. Организовала доступ к БД через ADOConnection, ADOTable, DataSource. Использовала объект DataModule.

На DataModule (File – New – DataModule) разместила следующие компоненты (Рис.5):

  • 1 компонент AdoConnection – связывает Delphi с БД

  • 3 компонента AdoTable (т.к. у меня таблицы) – связывает Delphi с таблицами БД

  • 1 компонент AdoQuery – SQL-запрос

  • 4 компонента DataSource – связь между набором данных (AdoTable или AdoQuery) и визуальными компонентами (на вкладке DataAccess)



Рис.5. Объект DataModule

  1. Настроила компоненты:

AdoConnection:

  • свойство ConnectionString – открывается окно, в нем по нажатию кнопки Build выбираем Microsoft Jet 4.0v OLE DB Provider, потом по кнопке Next – выбираем нашу БД

  • свойство Login Promt: False

  • свойство Connected: True

Настроила таблицы (AdoTable1, AdoTable2, AdoTable3, AdoTable4):

  • свойство Connection = AdoConnection1,

  • свойство TableName –указать название таблицы, с которыми установлена связь;

  • свойство Name – имя по таблице БД.

  • свойство Active –True.

Настроила запрос AdoQuery:

  • свойство Connection = AdoConnection1.

DataSource1, DataSource2, DataSource3, DataSource4, DataSource5:

  • свойство DataSet – выбираем соответствующую таблицу;

  • свойство Name – имя по таблице БД.



Рис.6. Настройка компонентов

Этап отображения и редактирования данных

  1. Отобразила данные в таблицах, использовав компонент DBGrid, свойство DataSource - DataModule4.DataSourceKnigi и DataModule4.DataSourceAvtori соответственно. Предварительно прописала в разделе implementation «Uses Unit5» (на Unit4 располагается DataModule).

  2. На форме Заказы вставила объекты DBEdit и DBLookUpComboBox (вкладка Data Controls).

Настроила DBEdit :

  • Edit1: Свойство DataSource–DataModule5.DataSource_Zakazi

  • Свойство Data field – Data

Настроила DBLookUpCombo Box (позволяет выйти на подстановочную таблицу, взять из нее данные; также может использоваться для организации списка из полей таблицы).

  • DataSource – DataModule5.DataSource_Zakazi

  • Свойство Datafield – Id_usluga

  • ListField – Name_uslugi

  • ListSource – DataModule5.DataSource_Uslugi

  • Key Field – Id_uslugi



Рис.7. Объекты DBEdit и DBLookUpComboBox

Этап фильтрации и сортировки данных

1. На форме Заказы добавила фильтрацию по клиентам и услугам. Для этого вставила компонент CroupBox (Standart), создала два компонента RadioButton, 2 компонента DBLookUpComboBox, вспомогательный компонент Edit1, кнопку Фильтр.

Запрограммировала кнопку Фильтр:

procedure TForm4.Button1Click(Sender: TObject);

begin

if RadioButton1.Checked=True then

begin

Edit1.Text:= DBLookUpComboBox2.Text;

DataModule5.Zakazi.Filter:='Name_uslugi ='+Edit1.Text;

end;

if RadioButton2.Checked=True then

begin

Edit1.Text:= DBLookUpComboBox3.Text;

DataModule5.Zakazi.Filter:='FIO ='+Edit1.Text;

end;

end;



Рис.8. Фильтрация

2. На форму Услуги добавила объект CroupBox с радиокнопками «По наименованию» и «По стоимости»:

Запрограммировала радиокнопку «По наименованию»:

procedure TForm2.RadioButton1Click(Sender: TObject);

begin

DataModule5.Uslugi.IndexFieldNames:='Name_uslugi';

end;

Запрограммировала радиокнопку «По стоимости»:

procedure TForm2.RadioButton1Click(Sender: TObject);

begin

DataModule5.Uslugi.IndexFieldNames:='Stoimost';

end;

Проверила работоспособность (Рис.9,Рис.10).



Рис.9. Сортировка по наименованию



Рис.9. Сортировка по стоимости

Этап работы с SQL-запросами

  1. Построила SQL-запросы:

    • На выборку:

SELECT Id_uslugi, Name_uslugi, Stoimost

FROM Uslugi

WHERE (((Uslugi.Stoimost)>100))

ORDER BY Name_uslugi;

SELECT Id_zakaz, Id_klienta, Id_usluga, Data, Okazanie_uslugi

FROM Zakazi

WHERE (((Zakazi.Id_zakaz)>2))

ORDER BY Id_zakaz;

    • На обновление:

UPDATE Услуги SET Name_Uslugi = "Стельки"

WHERE Id_uslugi=19;

UPDATE Klienti SET FIO = "Аношкина Александра Владимировна"

WHERE Id_klienta=1;

    • На добавление:

INSERT INTO Услуги ( Name_uslugi, Stoimost )

VALUES ("Шнурки", 200);

INSERT INTO Klienti ( FIO, Adres,Telefon )

VALUES ("Потапова Антонина Сергеевна", "Ленинский 12-96",347091);

    • На удаление:

DELETE *

FROM Uslugi

WHERE Id_Uslugi=18;


DELETE *

FROM Klienti

WHERE Id_klienta=7.

Построила запрос по трем таблицам с использованием связи между таблицами и сортировки:

SELECT Zakazi.Id_zakaz, Klienti.FIO, Uslugi.Name_uslugi, Zakazi.Okazanie_uslugi

FROM Uslugi INNER JOIN (Klienti INNER JOIN Zakazi ON Klienti.Id_klienta = Zakazi.Id_klienta) ON Uslugi.Id_uslugi = Zakazi.Id_usluga

ORDER BY Klienti.FIO.

Скопировала текст SQL-запроса в буфер обмена для дальнейшей вставки в Delphi. Зашла в Delphi и настроила компонент ADOQuery. Выбрала на DataModule5 компонент AdoQuery1.

Настроила свойства:

    • свойство Connection = AdoConnection1 (было настроено раньше),

    • свойство SQL – в редакторе SQL текста вставила текст SQL-запроса из буфера обмена,

    • свойство Active –True.

На главную форму вставила DBGrid. Свойство DataSource настроила на компонент DataSource Query.

Запустила программу и проверила ее работоспособность (Рис.10).



Рис.10. SQL-запрос

Создала подключение базы данных из текущей папки приложения. Для этого:

1. Отключила свойство Connected компонента AdoConnection.

2. Поместила файл базы данных в папку приложения

3. При настройке компонента AdoConnection:

  • свойство ConnectionString – открывается окно строки соединения, в нем по нажатию кнопки Build выбираем Microsoft Jet 4.0v OLE DB Provider, потом по кнопке Next – выбираем нашу БД и вместо полного пути с указанием диска и каталогов оставляем только название файла с базой данных.

Вывод: Благодаря проделанной работе я познакомиться с ADO-технологией доступа к БД, изучила подключение к файл-серверным СУБД из Delphi через ADO-соединение.


Скачать файл (186 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации