студенты. Разработка информационной системы учета и контроля посещаемости. Разработка информационной системы учета и контроля посещаемости студентов на основе реляционной базы данных
Скачать 2.29 Mb.
|
Листинг программы://--------------------------------------------------------------------------- // Основная форма #include #pragma hdrstop #include "Unit3.h" #include "Unit1.h" #include "Unit2.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------------- __fastcall TMainForm::TMainForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TMainForm::Button1Click(TObject *Sender) { Form1->Show(); MainForm->Hide(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Button2Click(TObject *Sender) { Form2->Edit1->Text = 2; //Если нажата кнопка "Контроль посещаемости" Form2->Panel1->Visible = true; //Показать панель контроля Form2->Panel2->Visible = false; //остальные скрыть Form2->Panel3->Visible = false; Form2->Panel4->Visible = false; Form2->Panel5->Visible = false; Form2->Show(); MainForm->Hide(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Button3Click(TObject *Sender) { Form2->Edit1->Text = 3; //Если нажата кнопка "расписание" Form2->Panel2->Visible = true; //Показать панель расписания Form2->Panel1->Visible = false; //остальные скрыть Form2->Panel3->Visible = false; Form2->Panel4->Visible = false; Form2->Panel5->Visible = false; Form2->Show(); MainForm->Hide(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Button4Click(TObject *Sender) { Form2->Edit1->Text = 4; //Если нажата кнопка "Информация об учениках" Form2->Panel3->Visible = true; //Показать панель Информация об учениках Form2->Panel1->Visible = false; //остальные скрыть Form2->Panel2->Visible = false; Form2->Panel4->Visible = false; Form2->Panel5->Visible = false; Form2->Show(); MainForm->Hide(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Button6Click(TObject *Sender) { Form2->Edit1->Text = 5; //Если нажата кнопка "Информация о преподавателях" Form2->Panel4->Visible = true; //Показать панель Информация о преподавателях Form2->Panel1->Visible = false; //остальные скрыть Form2->Panel2->Visible = false; Form2->Panel3->Visible = false; Form2->Panel5->Visible = false; Form2->Show(); MainForm->Hide(); } //--------------------------------------------------------------------------- void __fastcall TMainForm::Button5Click(TObject *Sender) { Form2->Edit1->Text = 6; //Если нажата кнопка "Аудитории" Form2->Panel5->Visible = true; //Показать панель Аудитории Form2->Panel1->Visible = false; //остальные скрыть Form2->Panel2->Visible = false; Form2->Panel3->Visible = false; Form2->Panel4->Visible = false; Form2->Show(); MainForm->Hide(); } //--------------------------------------------------------------------------- //--------------------------------------------------------------------------- //Форма контроля посещаимости, расписания, Инфо. о студентах, преподавателях и аудиториях #include #pragma hdrstop #include "Unit1.h" #include "Unit2.h" #include "Unit3.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm2::FormClose(TObject *Sender, TCloseAction &Action) { Form2->Hide(); //при закрытии MainForm->Show(); //показывать основную форму } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox2Select(TObject *Sender) { ADOQuery1->SQL->Text = "SELECT Студент.ФИО, Группа.Название, Пропуски.Дата_пропуска FROM ( Группа RIGHT JOIN Студент ON Группа.Код_группы = Студент.Группа) RIGHT JOIN Пропуски ON Студент.Код_студ = Пропуски.Студент where Группа.Название like'" + ComboBox2->Text + "%'"; //вывод списка прпусков ADOQuery1->Active = true; //по выбранной группе } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox3Select(TObject *Sender) { Label16->Caption = ComboBox3->ItemIndex + 1; ADOQuery1->SQL->Text = "SELECT студент.ФИО, группа.название,предмет.название, пропуски.дата_пропуска FROM студент, группа, пропуски, предмет WHERE предмет.код like пропуски.предмет and группа.код_группы = студент.группа and пропуски.студент = студент.код_студ and пропуски.предмет like'" + Label16->Caption +"%'"; ADOQuery1->Active = true; } //--------------------------------------------------------------------------- void __fastcall TForm2::DateTimePicker1Change(TObject *Sender) { ADOQuery1->SQL->Text = "SELECT Студент.ФИО, Группа.Название, Пропуски.Дата_пропуска FROM (Группа RIGHT JOIN Студент ON Группа.Код_группы = Студент.Группа) RIGHT JOIN Пропуски ON Студент.Код_студ = Пропуски.Студент where Пропуски.дата_пропуска like'" + DateTimePicker1->Date.DateString() + "'"; //вывод списка прпусков ADOQuery1->Active = true; //выбранной даты Edit1->Text = DateTimePicker1->Date.DateString() ; } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox1Change(TObject *Sender) { i++; ADOQuery1->SQL->Text = "SELECT студент.ФИО, группа.название,предмет.название, пропуски.дата_пропуска FROM студент, группа, пропуски, предмет WHERE предмет.код like пропуски.предмет and группа.код_группы = студент.группа and пропуски.студент = студент.код_студ and студент.фио like'" + ComboBox1->Text + "%'"; //вывод списка пропусков ADOQuery1->Active = true; //определенного студента } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox2Change(TObject *Sender) { ADOQuery1->SQL->Text = "SELECT Студент.ФИО, Группа.Название, Пропуски.Дата_пропуска FROM (Группа RIGHT JOIN Студент ON Группа.Код_группы = Студент.Группа) RIGHT JOIN Пропуски ON Студент.Код_студ = Пропуски.Студент where Группа.Название like'" + ComboBox2->Text + "%'"; ADOQuery1->Active = true; } //--------------------------------------------------------------------------- void __fastcall TForm2::FormShow(TObject *Sender) { int a = Edit1->Text.ToInt(); Form2->DBGrid1->Width = Form2->Width - 30; //подгон размеров грида Form2->DBGrid1->Height = Form2->Height - 120; //под размер формы switch (Edit1->Text.ToInt()) { //в зависимости от того //какая кнопка нажата на главной форме case (2): { //если нажата "Контроль посещаемости" ADOQuery1->SQL->Text = "select ФИО from студент"; ADOQuery1->Active = true; // автозаполнение списка ФИО студентов while (!ADOQuery1->Eof) { ComboBox1->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select название from группа"; ADOQuery1->Active = true; // автозаполнение списка групп while (!ADOQuery1->Eof) { ComboBox2->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select название from предмет"; ADOQuery1->Active = true; // автозаполнение списка предметов while (!ADOQuery1->Eof) { ComboBox3->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; } case(3): //если нажата "Расписание" { ADOQuery1->SQL->Text = "select ФИО from преподаватель"; ADOQuery1->Active = true; // автозаполнение списка преподавателей while (!ADOQuery1->Eof) { ComboBox4->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select название from группа"; ADOQuery1->Active = true; // автозаполнение списка групп while (!ADOQuery1->Eof) { ComboBox5->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select название from предмет"; ADOQuery1->Active = true; // автозаполнение списка предметов while (!ADOQuery1->Eof) { ComboBox6->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select предмет.название, преподаватель.ФИО, группа.название, вид_занятия.название, аудитория.название, расписание.дата from расписание, предмет, преподаватель, группа, аудитория, вид_занятия where предмет.код = расписание.предмет and преподаватель.код = расписание.преподаватель and группа.код_группы = расписание.группа and вид_занятия.код = расписание.вид_занятия and аудитория.код = расписание.аудитория"; ADOQuery1->Active = true; } case (4): //если нажата "Информация об учениках" { ADOQuery1->SQL->Text = "select ФИО from студент"; ADOQuery1->Active = true; // // автозаполнение списка студентов while (!ADOQuery1->Eof) { ComboBox7->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select название from группа"; ADOQuery1->Active = true; // автозаполнение списка групп while (!ADOQuery1->Eof) { ComboBox8->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select ФИО, группа.название, зачетка, дата_рождения, адрес, телефон, пропуски from студент, группа where группа.код_группы = студент.группа"; ADOQuery1->Active = true; } case (5): //если нажата "Аудитории" { ADOQuery1->SQL->Text = "select название from аудитория"; ADOQuery1->Active = true; // автозаполнение списка Аудиторий while (!ADOQuery1->Eof) { ComboBox9->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select * from аудитория"; ADOQuery1->Active = true; } case(6): //если нажата "Информация о преподавателях" { ADOQuery1->SQL->Text = "select преподаватель.ФИО from преподаватель"; ADOQuery1->Active = true; // автозаполнение списка преподавателей while (!ADOQuery1->Eof) { ComboBox10->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select предмет.название from предмет"; ADOQuery1->Active = true; // автозаполнение списка предметов while (!ADOQuery1->Eof) { ComboBox11->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select факультет.название from факультет"; ADOQuery1->Active = true; // автозаполнение списка факультетов while (!ADOQuery1->Eof) { ComboBox12->Items->Add(DBGrid1->Fields[0]->AsString); ADOQuery1->Next(); } ADOQuery1->Close() ; ADOQuery1->SQL->Text = "select ФИО, факультет.название,предмет.название , телефон from преподаватель, факультет, предмет where преподаватель.факультет = факультет.код_факультета and преподаватель.код = предмет.преподаватель "; ADOQuery1->Active = true; } } } //--------------------------------------------------------------------------- void __fastcall TForm2::DateTimePicker2Change(TObject *Sender) { ADOQuery1->SQL->Text = "select предмет.название, преподаватель.ФИО, группа.название, вид_занятия.название, аудитория.название, расписание.дата from расписание, предмет, преподаватель, группа, аудитория, вид_занятия where предмет.код = расписание.предмет and преподаватель.код = расписание.преподаватель and группа.код_группы = расписание.группа and вид_занятия.код = расписание.вид_занятия and аудитория.код = расписание.аудитория and расписание.дата like '" + DateTimePicker2->Date.DateString() +"%'"; ADOQuery1->Active = true; //показать расписание на выбранную дату } //--------------------------------------------------------------------------- void __fastcall TForm2::FormResize(TObject *Sender) { Form2->DBGrid1->Width = Form2->Width - 30; //подгон размеров грида Form2->DBGrid1->Height = Form2->Height - 120; //при изменении размеров формы } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox4Change(TObject *Sender) { ADOQuery1->SQL->Text = "select предмет.название, преподаватель.ФИО, группа.название, вид_занятия.название, аудитория.название, расписание.дата from расписание, предмет, преподаватель, группа, аудитория, вид_занятия where предмет.код = расписание.предмет and преподаватель.код = расписание.преподаватель and группа.код_группы = расписание.группа and вид_занятия.код = расписание.вид_занятия and аудитория.код = расписание.аудитория and преподаватель.ФИО like '" + ComboBox4->Text +"%'"; ADOQuery1->Active = true; // Показать расписание для выбранного преподавателя } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox5Change(TObject *Sender) { ADOQuery1->SQL->Text = "select предмет.название, преподаватель.ФИО, группа.название, вид_занятия.название, аудитория.название, расписание.дата from расписание, предмет, преподаватель, группа, аудитория, вид_занятия where предмет.код = расписание.предмет and преподаватель.код = расписание.преподаватель and группа.код_группы = расписание.группа and вид_занятия.код = расписание.вид_занятия and аудитория.код = расписание.аудитория and группа.название like '" + ComboBox5->Text +"%'"; ADOQuery1->Active = true; // Показать расписание для выбранной группы } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox6Change(TObject *Sender) { ADOQuery1->SQL->Text = "select предмет.название, преподаватель.ФИО, группа.название, вид_занятия.название, аудитория.название, расписание.дата from расписание, предмет, преподаватель, группа, аудитория, вид_занятия where предмет.код = расписание.предмет and преподаватель.код = расписание.преподаватель and группа.код_группы = расписание.группа and вид_занятия.код = расписание.вид_занятия and аудитория.код = расписание.аудитория and предмет.название like '" + ComboBox6->Text +"%'"; ADOQuery1->Active = true; // Показать расписание по определенному предмету } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox7Change(TObject *Sender) { ADOQuery1->SQL->Text = "select ФИО, группа.название, зачетка, дата_рождения, адрес, телефон, пропуски from студент, группа where группа.код_группы = студент.группа and студент.ФИО like '" + ComboBox7->Text +"%'"; ADOQuery1->Active = true; //показать информацию о выбранном студенте } //--------------------------------------------------------------------------- void __fastcall TForm2::ComboBox8Change(TObject *Sender) { ADOQuery1->SQL->Text = "select ФИО, группа.название, зачетка, дата_рождения, адрес, телефон, пропуски from студент, группа where группа.код_группы = студент.группа and группа.название like '" + ComboBox8->Text +"%'"; ADOQuery1->Active = true; //показать информацию о студентах выбранной группы } //--------------------------------------------------------------------------- void __fastcall TForm2::DateTimePicker3Change(TObject *Sender) { ADOQuery1->SQL->Text = "select ФИО, группа.название, зачетка, дата_рождения, адрес, телефон, пропуски from студент, группа where группа.код_группы = студент.группа and дата_рождения like '" + DateTimePicker3->Date.DateString() +"%'"; |