Главная страница
Навигация по странице:

  • Тема и номер практической работы «Применение SQL -запросов в клиентском приложении» Обучающийся группы № 50-02

  • Формируемые/проверяемые умения Формируемые/проверяемые знания

  • ПР18 Притчин 50-02. Отчет по практической работе 18 Специальность 09. 02. 07 Информационные системы и программирование


    Скачать 67.73 Kb.
    НазваниеОтчет по практической работе 18 Специальность 09. 02. 07 Информационные системы и программирование
    Дата21.10.2022
    Размер67.73 Kb.
    Формат файлаdocx
    Имя файлаПР18 Притчин 50-02.docx
    ТипОтчет
    #746635

    СПб ГБПОУ «ПЕТРОВСКИЙ КОЛЛЕДЖ»

    Отделение информационно-промышленных технологий и судостроения

    ОТЧЕТ

    по практической работе № 18
    Специальность 09.02.07 Информационные системы и программирование
    Технология разработки и защиты БД

    Вариант 18

    Тема и номер практической работы

    «Применение SQL-запросов в клиентском приложении»
    Обучающийся группы № 50-02
    Притчин Павел Викторович

    (фамилия, имя, отчество)
    Преподаватель

    Копец Ольга Николаевна ________________________

    Копец О.Н__________________

    (оценка)
    __________________

    (подпись, дата)

    Санкт - Петербург, 2022 г

    РАБОТА 18

    «Применение SQL-запросов в клиентском приложении»

    Формируемые/проверяемые умения

    Формируемые/проверяемые знания

    Выполнять установку и настройку программного обеспечения для обеспечения работы пользователя с базой данных

    Основы разработки приложений баз данных

    Время выполнения задания – 90 минут.

    Уровень сложности работы – 3

    Необходимое оборудование, материалы, документация: ПК, МУ по выполнению практических работ.

    КРИТЕРИИ ОЦЕНИВАНИЯ РАБОТЫ КРИТЕРИИ ВЫСТАВЛЕНИЯ ОЦЕНКИ


    Наименование показателей

    Количество баллов

    В ИСР С++Builderсоздан интерфейс приложения

    1

    Созданы запросы на поиск данных

    3

    Создан запрос на удаление данных

    2

    Создан запрос на добавление данных

    2

    Создан запрос на изменение данных

    2

    Максимальное количество баллов

    10

    Баллы

    Оценка

    10-8

    отлично

    7

    Хорошо

    6

    Удовлетворительно



    СОДЕРЖАНИЕ РАБОТЫ

    Применить SQL-запросы в клиентском приложении.

    Типовое задание 18

      1. В ИСР С++ Builder создать приложение с соответствующим интерфейсом.

      2. Созданы запрос на поиск данных.

      3. Создан запрос на удаление данных.

      4. Создан запрос на добавление данных.

      5. Создан запрос на изменение данных.

    ХОД ВЫПОЛНЕНИЯ ТИПОВОГО ЗАДАНИЯ 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);

    }
    }

    //---------------------------------------------------------------------------


    написать администратору сайта