ПР18 Притчин 50-02. Отчет по практической работе 18 Специальность 09. 02. 07 Информационные системы и программирование
Скачать 67.73 Kb.
|
СПб ГБПОУ «ПЕТРОВСКИЙ КОЛЛЕДЖ» Отделение информационно-промышленных технологий и судостроения ОТЧЕТ по практической работе № 18 Специальность 09.02.07 Информационные системы и программирование Технология разработки и защиты БД Вариант 18 Тема и номер практической работы «Применение SQL-запросов в клиентском приложении» Обучающийся группы № 50-02 Притчин Павел Викторович (фамилия, имя, отчество) Преподаватель Копец Ольга Николаевна ________________________ Копец О.Н__________________ (оценка) __________________ (подпись, дата) Санкт - Петербург, 2022 г РАБОТА 18 «Применение SQL-запросов в клиентском приложении»
Время выполнения задания – 90 минут. Уровень сложности работы – 3 Необходимое оборудование, материалы, документация: ПК, МУ по выполнению практических работ. КРИТЕРИИ ОЦЕНИВАНИЯ РАБОТЫ КРИТЕРИИ ВЫСТАВЛЕНИЯ ОЦЕНКИ
СОДЕРЖАНИЕ РАБОТЫ Применить SQL-запросы в клиентском приложении. Типовое задание 18 В ИСР С++ Builder создать приложение с соответствующим интерфейсом. Созданы запрос на поиск данных. Создан запрос на удаление данных. Создан запрос на добавление данных. Создан запрос на изменение данных. ХОД ВЫПОЛНЕНИЯ ТИПОВОГО ЗАДАНИЯ 18 //--------------------------------------------------------------------------- #include #pragma hdrstop #include "Unit1.h" #include "Unit2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { // поиск студента по фамилии ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT ФИО, Дата_р FROM Студенты WHERE фио= '"+Edit1 -> Text+"';"); ADOQuery1 ->Open(); Label15 -> Caption = "Найденный студент"; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button2Click(TObject *Sender) { // Поиск студента по специальности ADOQuery1 ->Active = false; ADOQuery1 ->SQL ->Clear(); ADOQuery1 ->SQL ->Add ("SELECT Студенты.ФИО, Студенты.Дата_Р"); ADOQuery1 ->SQL ->Add ("FROM Специальность INNERJOIN Студенты ON Специальность.код_спец = Студенты.код_спец"); ADOQuery1 ->SQL ->Add ("WHERE Специальность.код_спец= "+Edit2->Text+"; "); ADOQuery1 ->Open(); AnsiString S= "Студенты Специальности " +Edit2 -> Text; Label15 -> Caption = S; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button3Click(TObject *Sender) { // Удалить студента по ФИО ADOQuery1 ->Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("DELETE FROM Студенты WHERE ФИО = '"+Edit3 -> Text+ "';"); ADOQuery1 ->ExecSQL(); ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Студенты;"); ADOQuery1 ->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button4Click(TObject *Sender) { //Вставить нового сутдента Bday=StrToDate(Edit6 ->Text); ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("INSERT INTO Студенты([№ группы], ФИО, Дата_Р, код_спец)"); ADOQuery1 -> SQL -> Add ("Values('"+Edit4 -> Text+"', '"+Edit5 -> Text+"', DateValue('"+FormatDateTime("dd/mm/yyyy",Bday)+"'),"+Edit7 -> Text+");"); ADOQuery1 ->ExecSQL(); ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Студенты"); ADOQuery1 ->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button5Click(TObject *Sender) { // Изменить данные специальности студента ADOQuery1 ->Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("UPDATE Студенты SET код_спец= '"+Edit9 -> Text+"' WHERE ФИО= '"+Edit8 -> Text+"';"); ADOQuery1 ->ExecSQL(); ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Студенты WHERE ФИО= '"+Edit8 -> Text+"';"); ADOQuery1 ->Open(); Label15 -> Caption = "Переведенный студент"; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button6Click(TObject *Sender) { // Вставка специальности с параметром ADOQuery1 ->Close(); ADOQuery1 ->SQL ->Clear(); ADOQuery1 ->SQL ->Add ("INSERTINTOСпециальность (код_спец, название) Values (:К_с,:Naz);"); ADOQuery1 -> Parameters ->ParamByName("К_с") -> Value = Edit10 -> Text; ADOQuery1 -> Parameters -> ParamByName ("Naz") -> Value = Edit11 -> Text; ADOQuery1 ->ExecSQL(); ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Специальность;"); ADOQuery1 ->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button7Click(TObject *Sender) { // поиск студента по ФИО с параметром ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT ФИО FROM Студенты WHERE ФИО = :fio"); ADOQuery1 -> Parameters -> ParamByName ("fio") -> Value = Edit12 -> Text; ADOQuery1 ->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button8Click(TObject *Sender) { // Поиск студента по специальности с параметром ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT Студенты.ФИО, Студенты.Дата_Р"); ADOQuery1 -> SQL -> Add ("FROM Специальность INNER JOIN Студенты ON Специальность.код_спец = Студенты.код_спец"); ADOQuery1 -> SQL -> Add ("WHERE Специальность.код_спец = :c_spec"); ADOQuery1 -> Parameters -> ParamByName ("c_spec") -> Value = Edit13 -> Text; ADOQuery1 ->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button9Click(TObject *Sender) { // Удалить студента по ФИО с параметром ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("DELETE FROM Студенты WHERE ФИО = :FIO"); ADOQuery1 -> Parameters -> ParamByName ("FIO") -> Value = Edit14 -> Text; ADOQuery1 ->ExecSQL(); ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Студенты;"); ADOQuery1 ->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button10Click(TObject *Sender) { // Изменить данные специальности студента с параметром ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("UPDATE Студенты SET код_спец= :cod_s WHERE ФИО= :fIo;"); ADOQuery1 -> Parameters -> ParamByName ("cod_s") -> Value = Edit16 -> Text; ADOQuery1 -> Parameters -> ParamByName ("fIo") -> Value = Edit15 -> Text; ADOQuery1 ->ExecSQL(); ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Студенты WHERE ФИО= :fIo;"); ADOQuery1 -> Parameters -> ParamByName ("fIo") -> Value = Edit15 -> Text; ADOQuery1 ->Open(); Label15 -> Caption = "Переведенный студент"; } //--------------------------------------------------------------------------- void __fastcall TForm1::Button11Click(TObject *Sender) { //Вставить нового студента с параметрами ADOQuery1 ->Active = false; ADOQuery1 ->SQL ->Clear(); ADOQuery1 ->SQL ->Add ("INSERT INTO Студенты([№ группы], ФИО, Дата_Р, код_спец)"); ADOQuery1 -> SQL -> Add ("Values(:gr, :Fam, :data,:cod_specal)"); ADOQuery1 -> Parameters -> ParamByName ("gr") -> Value = Edit17 -> Text; ADOQuery1 -> Parameters -> ParamByName ("Fam") -> Value = Edit18 -> Text; ADOQuery1 -> Parameters -> ParamByName ("data") -> Value = StrToDate (Edit19 -> Text); ADOQuery1 -> Parameters -> ParamByName ("cod_specal") -> Value = Edit20 -> Text; ADOQuery1 ->ExecSQL(); ADOQuery1 -> Active = false; ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Студенты"); ADOQuery1 ->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::ComboBox1Change(TObject *Sender) { ADOQuery1 -> SQL ->Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Студенты WHERE [№ группы] = :P_g"); ADOQuery1-> Parameters->ParamByName("P_g") -> Value = ComboBox1 -> Items -> Strings[ComboBox1 -> ItemIndex]; ADOQuery1 ->Open(); } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { ADOQuery1 -> SQL -> Clear(); ADOQuery1 -> SQL -> Add ("SELECT * FROM Студенты"); ADOQuery1 ->Open(); while (!ADOQuery1->Eof) { ComboBox1 -> Items ->Add (ADOQuery1->FieldByName("№ группы") -> AsString); ADOQuery1 ->Next(); } } //--------------------------------------------------------------------------- void __fastcall TForm1::DBGrid1DrawColumnCell(TObject *Sender, const TRect &Rect, int DataCol, TColumn *Column, TGridDrawState State) { // в св-ве DBGrid Установить dbRowSelected = true (Properties -> options -> dbRowSelected = true) if (State.Contains(Grids::gdSelected)) { DBGrid1->Canvas->Brush->Color=clRed; DBGrid1->DefaultDrawColumnCell (Rect, DataCol, Column, State); } } //--------------------------------------------------------------------------- |