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

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


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

Листинг программы:


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

// Основная форма

#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() +"%'";
1   2   3   4   5   6   7   8


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