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

Where логическое_выражение

Существуют четыре типа логических операторов, описывающих условие (табл. 3).

Таблица 3

Оператор

Действие

=

Сравнивает поле с заданным значением

Like

Сравнивает поле с шаблоном

In

Сравнивает поле со списком возможных значений

Between

Сравнивает поле с диапазоном значений

3. Примеры выполнения заданий

3.1. Задание 1

1) Создать в Access базу данных «student», содержащую таблицы «каталог студентов» (рис.14) и «1 сессия» (рис.15).

Рис. 14. Таблица «каталог студентов»

Рис. 15. Таблица «1 сессия»

2) Организовать связь между таблицами по полю ‘код’.

3) Создать приложение в Delphi (рис.16) с простыми SQL запросами из базы данных «student».

Рис. 16. Окно приложения с простыми SQL запросами

Обработчик события для кнопки Отличники

procedure TForm1.Button1Click(Sender: TObject);

begin

form1.ADOQuery1.SQL.Clear;

form1.ADOQuery1.SQL.Text:=

'SELECT [каталог студентов].фамилия, '+

' [1 сессия].математика, [1 сессия].информатика, '+

' [1 сессия].история FROM [1 сессия] '+

' INNER JOIN [каталог студентов] ON [1 сессия].код=' +

' [каталог студентов].код '+

' WHERE (([1 сессия].математика=5) AND'+

' ([1 сессия].информатика=5) AND ([1 сессия].история=5));';

form1.ADOQuery1.Active:=True;

end;

Обработчик события для кнопки Военкомат

procedure TForm1.Button2Click(Sender: TObject);

begin

form1.ADOQuery1.SQL.Clear;

form1.ADOQuery1.SQL.Text:=

'SELECT [каталог студентов].фамилия, ' +

' [каталог студентов].пол, ' +

' [каталог студентов].[год рождения] FROM '+

' [каталог студентов] WHERE ' +

'(([каталог студентов].пол="м") AND ' +

' ([каталог студентов].[год рождения]<#1/1/1990#));';

form1.ADOQuery1.Active:=True;

end;

3.2. Задание 2

Используя базу данных «student» создать приложение в Delphi (рис. 17) с запросом произвольной выборки данных по введенным параметрам.

Рис. 17. Окно приложения с запросом произвольной

выборки данных по введенным параметрам

Обработчик события для кнопки Запрос

procedure TForm1.Button1Click(Sender: TObject);

begin

form1.ADOQuery1.SQL.Clear ;

form1.ADOQuery1.SQL.Add('SELECT '+

'[каталог студентов].фамилия, '+

'[каталог студентов].адрес, [каталог студентов].пол,'+

'[1 сессия].математика, [1 сессия].информатика,'+

'[1 сессия].история FROM [1 сессия] '+

'INNER JOIN [каталог студентов] ON '+

'[1 сессия].код = [каталог студентов].код '+

'WHERE (([каталог студентов].код)<1000)');

If form1.Edit1.Text<>'' then form1.ADOQuery1.SQL.Add(

'AND [каталог студентов].адрес="'+form1.Edit1.Text+'"');

If (form1.Edit2.Text<>'') AND (form1.Edit3.Text<>'') then

form1.ADOQuery1.SQL.Add(

'AND (([каталог студентов].[год рождения])>='+

'#'+form1.Edit2.Text+'#'+

'AND ([каталог студентов].[год рождения])<='+

'#'+form1.Edit3.Text+'#)');

If form1.Edit4.Text<>'' then form1.ADOQuery1.SQL.Add(

'AND [каталог студентов].пол="'+form1.Edit4.Text+'"');

If (form1.Edit5.Text<>'') And (form1.Edit6.Text<>'') then

form1.ADOQuery1.SQL.Add(

' AND (([1 сессия].математика)>='+form1.Edit5.Text+

' AND ([1 сессия].математика)<='+form1.Edit6.Text+')'+

' AND (([1 сессия].информатика)>='+form1.Edit5.Text+

' AND ([1 сессия].информатика)<='+form1.Edit6.Text+')'+

' AND (([1 сессия].история)>='+form1.Edit5.Text+

' AND ([1 сессия].история)<='+form1.Edit6.Text+')');

form1.ADOQuery1.Open;

end;