Скачиваний:
21
Добавлен:
01.05.2014
Размер:
454.66 Кб
Скачать

Обработчики событий для формы - Form2 (Запросы к бд:):

//----------Очистить таблицу----------

procedure TForm2.Button5Click(Sender: TObject);

begin

DataModule1.SelectQuery.Active:=False;

end;

//----------Вывести все строки таблицы "ОПЕРАЦИИ"----------

procedure TForm2.Button1Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Вывести порядок столбцов, отличный от исходного----------

procedure TForm2.Button2Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('select KOLICHESTVO_OPERACIY,RECOMENDACII,NAZVANIE,NOMER_PATENTA,NOMER_PACIENTA,DATA,NOMER from OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------DISTINCT: Выбор проведенных операций с исключением дубликатов----------

procedure TForm2.Button4Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT DISTINCT NAZVANIE FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя WHERE с простым условием----------

procedure TForm2.Button3Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE (NAZVANIE = "аппендецит")');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя WHERE с составным условием----------

procedure TForm2.Button6Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE (NAZVANIE = "аппендецит") and (DATA = "5.04.08")');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя функцию IN----------

procedure TForm2.Button7Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE NOMER_PATENTA IN ("1","3")');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя функцию BETWEEN----------

procedure TForm2.Button15Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE NOMER_PACIENTA BETWEEN "100" AND "102"');

DataModule1.SelectQuery.Active:=True; end;

//----------Ограничить вывод запроса, используя функцию LIKE----------

procedure TForm2.Button17Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE NOMER_PACIENTA LIKE "%01"');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя функцию IS NULL----------

procedure TForm2.Button16Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE RECOMENDACII IS NULL');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя функцию NOT IN----------

procedure TForm2.Button8Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE NOMER_PATENTA NOT IN ("1","3")');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя функцию NOT BETWEEN----------

procedure TForm2.Button18Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE NOMER_PACIENTA NOT BETWEEN "100" AND "102"');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя функцию NOT LIKE----------

procedure TForm2.Button19Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE NOMER_PACIENTA NOT LIKE "%01"');

DataModule1.SelectQuery.Active:=True;

end;

//----------Ограничить вывод запроса, используя функцию IS NULL----------

procedure TForm2.Button20Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT * FROM OPERACII WHERE RECOMENDACII IS NOT NULL');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование огрегатной функции COUNT----------

procedure TForm2.Button9Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT COUNT (DISTINCT NOMER_PATENTA) FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование огрегатной функции SUM----------

procedure TForm2.Button21Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT SUM (KOLICHESTVO_OPERACIY) FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование огрегатной функции AVG----------

procedure TForm2.Button22Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT AVG (KOLICHESTVO_OPERACIY) FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование огрегатной функции MAX----------

procedure TForm2.Button23Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT MAX (KOLICHESTVO_OPERACIY) FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование огрегатной функции MIN----------

procedure TForm2.Button24Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT MIN (KOLICHESTVO_OPERACIY) FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование огрегатной функции COUNT(*)----------

procedure TForm2.Button10Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT COUNT(*) FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование простых вычислений в запросе----------

procedure TForm2.Button11Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT NOMER,DATA,NOMER_PACIENTA*10,NOMER_PATENTA,NAZVANIE,RECOMENDACII,KOLICHESTVO_OPERACIY FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование простого вычисления, как параметр огрегатной функции----------

procedure TForm2.Button12Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT SUM (KOLICHESTVO_OPERACIY*10) FROM OPERACII');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование предложения GROUP BY----------

procedure TForm2.Button13Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT NAZVANIE, SUM (KOLICHESTVO_OPERACIY) FROM OPERACII GROUP BY NAZVANIE');

DataModule1.SelectQuery.Active:=True;

end;

//----------Использование предложения HAVING----------

procedure TForm2.Button14Click(Sender: TObject);

begin

DataModule1.SelectQuery.SQL.Clear;

DataModule1.SelectQuery.SQL.Add('SELECT NAZVANIE, SUM (KOLICHESTVO_OPERACIY) FROM OPERACII GROUP BY NAZVANIE HAVING MAX (NOMER_PATENTA) > 3');

DataModule1.SelectQuery.Active:=True;

end;

После запуска приложения и выбора файла базы данных (LR_3.GDB) главная форма проекта имеет вид:

Форма, содержащая запросы к БД представлена на рисунке:

Вывод: В ходе выполнения лабораторной работы бали изучены:

- работа оператора SELECT

- возможность обработки данных с помощью агрегатных функций языка SQL

Соседние файлы в папке теория