студенты. Разработка информационной системы учета и контроля посещаемости. Разработка информационной системы учета и контроля посещаемости студентов на основе реляционной базы данных
Скачать 2.29 Mb.
|
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; // } //--------------------------------------------------------------------------- |