Главная страница

студенты. Разработка информационной системы учета и контроля посещаемости. Разработка информационной системы учета и контроля посещаемости студентов на основе реляционной базы данных


Скачать 2.29 Mb.
НазваниеРазработка информационной системы учета и контроля посещаемости студентов на основе реляционной базы данных
Анкорстуденты
Дата09.11.2022
Размер2.29 Mb.
Формат файлаdocx
Имя файлаРазработка информационной системы учета и контроля посещаемости .docx
ТипРуководство
#778253
страница8 из 8
1   2   3   4   5   6   7   8

ADOQuery1->Active = true; ////показать информацию о студентах по дате рождения

}

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

void __fastcall TForm2::ComboBox9Change(TObject *Sender)

{

ADOQuery1->SQL->Text = "select * from аудитория where название like '"+ ComboBox9->Text +"%'";

ADOQuery1->Active = true; //Показать аудитории по выбранному виду занятия

}

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

void __fastcall TForm2::ComboBox10Change(TObject *Sender)

{

ADOQuery1->SQL->Text = "select ФИО, факультет.название,предмет.название, телефон from преподаватель, факультет, предмет where преподаватель.факультет = факультет.код_факультета and преподаватель.код = предмет.преподаватель and ФИО like '"+ ComboBox10->Text +"%'";

ADOQuery1->Active = true; //Показать иформацию о преподавателе по ФИО

}

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

void __fastcall TForm2::ComboBox12Change(TObject *Sender)

{

ADOQuery1->SQL->Text = "select ФИО, факультет.название,предмет.название, телефон from преподаватель, факультет, предмет where преподаватель.факультет = факультет.код_факультета and преподаватель.код = предмет.преподаватель and факультет.название like '"+ ComboBox12->Text +"%'";

ADOQuery1->Active = true; //Показать иформацию о преподавателе по факультету

}

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

void __fastcall TForm2::ComboBox11Change(TObject *Sender)

{

ADOQuery1->SQL->Text = "select ФИО, факультет.название,предмет.название, телефон from преподаватель, факультет, предмет where преподаватель.факультет = факультет.код_факультета and преподаватель.код = предмет.преподаватель and предмет.название like '"+ ComboBox11->Text +"%'";

ADOQuery1->Active = true; //Показать иформацию о преподавателе по предету

}

//---------------------------------------------------------------------------
void __fastcall TForm2::ComboBox3Change(TObject *Sender)

{

Label16->Caption = ComboBox3->ItemIndex + 1;

ADOQuery1->SQL->Text =

"SELECT студент.ФИО, группа.название,предмет.название, пропуски.дата_пропуска FROM студент, группа, пропуски, предмет WHERE предмет.код like пропуски.предмет and группа.код_группы = студент.группа and пропуски.студент = студент.код_студ and пропуски.предмет like'" +

Label16->Caption +"%'";

ADOQuery1->Active = true;

}

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

// Форма электронного журнала

#include

#pragma hdrstop

#include "Unit1.h"

#include "Unit3.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

class TMyDBGrid : public TDBGrid

{

public:

__property Row;

__property DataLink;

};

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

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

void __fastcall TForm1::FormShow(TObject *Sender) //создание формы

{

Form1->DBGrid1->Width = Form1->Width - 30; //подгоняем размеры грида к

Form1->DBGrid1->Height = Form1->Height - 100; //размерам формы

Form1->ADOQuery1->SQL->Text = "select название from группа";

Form1->ADOQuery1->Active = true; //автоматическое заполнение комбобокса списком доступных Групп

while (!Form1->ADOQuery1->Eof) { Form1->ComboBox1->Items->Add(Form1->DBGrid1->Fields[0]->AsString);

Form1->ADOQuery1->Next();

}

ComboBox3->Clear();

Form1->ADOQuery1->SQL->Text = "select Название from Предмет";

Form1->ADOQuery1->Active = true; // для городов - филиалы

while (!Form1->ADOQuery1->Eof) { //автоматическое заполнение

Form1->ComboBox3->Items->Add(Form1->DBGrid1->Fields[0]->AsString);

Form1->ADOQuery1->Next(); //комбобокса списком доступных предметов

}

Form1->ADOQuery1->SQL->Text =

"select код_студ, ФИО, Пропуски from Студент, Группа, предмет where группа.Название like'" +

Form1->ComboBox1->Text + "%' and студент.Группа = группа.Код_группы";

Form1->ADOQuery1->Active = true; // вывод списка всех студентов

}

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

void __fastcall TForm1::FormResize(TObject *Sender)

{

Form1->DBGrid1->Width = Form1->Width - 30; //подгоняем размеры грида к

Form1->DBGrid1->Height = Form1->Height - 120; //размерам формы

}

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

void __fastcall TForm1::DBGrid1DblClick(TObject *Sender)

{ TDateTime t;

int c = Form1->Edit2->Text.ToInt(); //если двойной клик на

int b = Form1->Edit1->Text.ToInt(); //поле с количеством пропусков студента

if (DBGrid1->SelectedField->Index == 2 )

{

Form1->DataSource1->Edit();

Form1->DBGrid1->SelectedField->AsInteger =

Form1->DBGrid1->SelectedField->AsInteger + 1;

//то увеличиваем значение на 1

Form1->ADOQuery2->SQL->Text =

"insert into пропуски (студент, дата_пропуска, предмет)values ('" +

Edit2->Text + "', '" +

t.CurrentDate() + "','" + Edit1->Text.ToInt() + "') ";

//и добавляем запись с номером студента сегоднеяшней датой, и номером пропущенного предмета в таблицу пропусков

Form1->ADOQuery2->ExecSQL();

m[DBGrid1->DataSource->DataSet->RecNo] = 1; // запоминаем номер измененной строки для раскрашивания

}

}

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

void __fastcall TForm1::DBGrid1CellClick(TColumn *Column)

{ if (ComboBox3->Text == "") { //если при нажатии на грид предмет не выбран

ShowMessage("Выберите предмет!"); //то выводим соответствующее сообщение

}

if (Form1->DBGrid1->SelectedField->Index==2) //запоминаем код

{ //прогулявшего студента

int a;

a = Form1->DBGrid1->SelectedField->Index - 2;

Form1->Edit2->Text = Form1->DBGrid1->Fields[a]->Text;

}

}

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

void __fastcall TForm1::ComboBox1Select(TObject *Sender)

{

Form1->ADOQuery1->SQL->Text =

"select код_студ, ФИО, Пропуски from Студент, Группа where группа.Название like'" +

Form1->ComboBox1->Text + "%' and студент.Группа = группа.Код_группы";

Form1->ADOQuery1->Active = true; //Вывед списка студентов выбранной группы

// DBGrid1->Columns->Items[2]->PickList->Add('1') ;

}

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

void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)

{

Form1->Hide(); //при закрытии формы

MainForm->Show(); //показывать основную

}

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

void __fastcall TForm1::DBGrid1DrawDataCell(TObject *Sender, const TRect &Rect, TField *Field,

TGridDrawState State)

{

for (int i = 0; i < DBGrid1->DataSource->DataSet->RecordCount; i++)

{

if(m[DBGrid1->DataSource->DataSet->RecNo]==1) //отрисовка красным

{ //измененных полей

DBGrid1->Canvas->Font->Color = clWhite;

DBGrid1->Canvas->Brush->Color = clRed;

}

}

DBGrid1->DefaultDrawDataCell(Rect,Field,State);

}

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

void __fastcall TForm1::ComboBox3Change(TObject *Sender)

{

Edit1->Text = ComboBox3->ItemIndex+1; //получение индекса выбранного предмета

// Form1->ADOQuery1->SQL->Text =

// "select код_студ, ФИО, Пропуски from Студент, Группа where группа.Название like'" +

// Form1->ComboBox1->Text + "%' and студент.Группа = группа.Код_группы";

// Form1->ADOQuery1->Active = true; //

}

//---------------------------------------------------------------------------
1   2   3   4   5   6   7   8


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