- •1. Создание таблиц в access
- •1.1. Создание базы данных в Access
- •1.2. Создание таблиц
- •1.3. Создание связи между таблицами
- •2. Работа с базой данных, созданной в access в delphi
- •2.1. Подключение базы данных к Delphi
- •2.2. Подключение таблиц базы данных к приложению Delphi
- •2.3. Создание запросов
- •2.4. Основные сведения о sql запросах
- •Where логическое_выражение
- •3. Примеры выполнения заданий
- •3.1. Задание 1
- •3.2. Задание 2
- •4. Задания
- •5. Контрольные вопросы
- •Требования к отчету
- •Библиографический список
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;