📄 student.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Student.h"
#include "Unit1.h"
#include "Login.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TfrmStudent *frmStudent;
//---------------------------------------------------------------------------
__fastcall TfrmStudent::TfrmStudent(TComponent* Owner)
: TForm(Owner)
{
Admin=0;
}
//---------------------------------------------------------------------------
void __fastcall TfrmStudent::btn_CancelClick(TObject *Sender)
{
if(Admin==0&&method==1)
{
delete frmMain;
delete frmLogin;
exit(0);
}
Close();
}
//---------------------------------------------------------------------------
void __fastcall TfrmStudent::btn_EnterClick(TObject *Sender)
{
//检测输入数据的有效性
if(cmb_Class->ItemIndex<0)
{
Application->MessageBoxA("请选择班级!","警告!",MB_OK);
return;
}
if((txt_Name->Text.IsEmpty()) || (txt_Num->Text.IsEmpty()) || (txt_Pass->Text.IsEmpty()))
{
Application->MessageBoxA("请输入姓名,学号和密码!","警告!",MB_OK);
return;
}
if(method==0)//学生用户注册
{
ADODataSet1->CommandText="select * from tbStudent where num='" + txt_Num->Text +"'";
ADODataSet1->Open();
if(!ADODataSet1->Eof)
{
Application->MessageBoxA("该用户已经存在!","警告!",MB_OK);
ADODataSet1->Close();
return;
}
ADODataSet1->Close();
ADODataSet1->CommandText="select id from tbClass where name='" + cmb_Class->Text +"'";
ADODataSet1->Open();
String classid=ADODataSet1->FieldByName("id")->AsString;
ADODataSet1->Close();
String s="insert tbStudent(num,name,pass,classid,iswork,unitname,unitaddress,unittel,unitcontactperson,unitweb,zs1,zs2,zs3,jlcf,jy,ischecked) values('" + txt_Num->Text +"',";
s+="'" + txt_Name->Text + "','"+txt_Pass->Text +"',"+classid+",";
if(chk_Job->Checked)
{
s+="1,'"+ txt_Unitname->Text +"','"+ txt_Unitaddress->Text +"','" + txt_Unittel->Text +"','" + txt_Contactperson->Text +"','" + txtWeb->Text + "',";
}
else
{
s+="0,'','','','','',";
}
s+="'" + txtZS1->Text + "','" + txtZS2->Text + "','" + txtZS3->Text + "','" + txtJLCF->Text +"','" + txtJY->Text +"',";
if(chkSP->Checked)
{
s+="1)";
}
else
{
s+="0)";
}
ADOCommand1->CommandText=s;
ADOCommand1->Execute();
Application->MessageBoxA("学生信息注册成功!","成功!",MB_OK);
Close();
}
else//学生资料修改
{
String str="update tbStudent set name='" + txt_Name->Text + "',pass='"+ txt_Pass->Text+ "',";
ADODataSet1->CommandText="select * from tbClass where name='" +cmb_Class->Text + "'";
ADODataSet1->Open();
str+="classid="+(ADODataSet1->FieldByName("id")->AsString)+",";
ADODataSet1->Close();
str+="zs1='" + txtZS1->Text + "',zs2='" + txtZS2->Text +"',zs3='" + txtZS3->Text +"',jlcf='" + txtJLCF->Text + "',jy='" +txtJY->Text + "',";
if(chkSP->Checked)
{
str+="ischecked=1,";
}
else
{
str+="ischecked=0,";
}
if(chk_Job->Checked==true)
{
str+="iswork=1,unitweb='" + txtWeb->Text + "',unitname='" + txt_Unitname->Text +"',unitaddress='"+ txt_Unitaddress->Text +"',unittel='"+ txt_Unittel->Text +"',unitcontactperson='" + txt_Contactperson->Text + "' where num='" + txt_Num->Text +"'";
}
else
{
str+="iswork=0,'','','','','' where num='" + txt_Num->Text +"'";
}
ADOCommand1->CommandText=str;
ADOCommand1->Execute();
Application->MessageBoxA("学生资料修改成功!","成功!",MB_OK);
if(Admin==0&&method==1)
{
delete frmMain;
delete frmLogin;
exit(0);
}
Close();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmStudent::chk_JobClick(TObject *Sender)
{
if(chk_Job->Checked==true)
{
txt_Unitname->Enabled=true;
txt_Unitaddress->Enabled=true;
txt_Unittel->Enabled=true;
txt_Contactperson->Enabled=true;
}
else
{
txt_Unitname->Enabled=false;
txt_Unitaddress->Enabled=false;
txt_Unittel->Enabled=false;
txt_Contactperson->Enabled=false;
}
}
//---------------------------------------------------
void __fastcall TfrmStudent::RefreshYX()
{
cmb_YX->Clear();
ADODataSet1->CommandText="select name from tbYX";
ADODataSet1->Open();
if(!ADODataSet1->Eof)
{
ADODataSet1->First();
}
while(!ADODataSet1->Eof)
{
cmb_YX->Items->Add(ADODataSet1->FieldByName("name")->AsString);
ADODataSet1->Next();
}
ADODataSet1->Close();
}
void __fastcall TfrmStudent::RefreshMajor(String yx)
{
String yxid;
cmb_Major->Clear();
ADODataSet1->CommandText="select id from tbyx where name='" + yx +"'";
ADODataSet1->Open();
yxid=ADODataSet1->FieldByName("id")->AsString;
ADODataSet1->Close();
ADODataSet1->CommandText="select name from tbMajor where yxid=" +yxid;
ADODataSet1->Open();
if(!ADODataSet1->Eof)
{
ADODataSet1->First();
}
while(!ADODataSet1->Eof)
{
cmb_Major->Items->Add(ADODataSet1->FieldByName("name")->AsString);
ADODataSet1->Next();
}
ADODataSet1->Close();
}
void __fastcall TfrmStudent::RefreshGrade()
{
cmb_Grade->Clear();
ADODataSet1->CommandText="select name from tbGrADE";
ADODataSet1->Open();
if(!ADODataSet1->Eof)
{
ADODataSet1->First();
}
while(!ADODataSet1->Eof)
{
cmb_Grade->Items->Add(ADODataSet1->FieldByName("name")->AsString);
ADODataSet1->Next();
}
ADODataSet1->Close();
}
void __fastcall TfrmStudent::RefreshClass(String major,String grade)
{
String majorid,gradeid;
cmb_Class->Clear();
ADODataSet1->CommandText="select id from tbMajor where name='" + major +"'";
ADODataSet1->Open();
majorid=ADODataSet1->FieldByName("id")->AsString;
ADODataSet1->Close();
ADODataSet1->CommandText="select id from tbGrade where name='" + grade + "'";
ADODataSet1->Open();
gradeid=ADODataSet1->FieldByName("id")->AsString;
ADODataSet1->Close();
ADODataSet1->CommandText="select name from tbClass where majorid=" +majorid + " and gradeid=" + gradeid;
ADODataSet1->Open();
if(!ADODataSet1->Eof)
{
ADODataSet1->First();
}
while(!ADODataSet1->Eof)
{
cmb_Class->Items->Add(ADODataSet1->FieldByName("name")->AsString);
ADODataSet1->Next();
}
ADODataSet1->Close();
}
void __fastcall TfrmStudent::FrmStudent_OnShow(TObject *Sender)
{
//初始化窗体控件,向院系 专业 年级 班级列表中添加基本信息
if(method==1)
{
if(Admin==1)
{
txt_Pass->Enabled = false;
}
btn_Enter->Caption="确认修改";
txt_Num->Text=num;
RefreshYX();
cmb_Major->Clear();
cmb_Grade->Clear();
cmb_Class->Clear();
String classid;
String majorid;
String gradeid;
String yxid;
String iswork;
ADODataSet1->CommandText="select * from tbStudent where num='" + num +"'";
ADODataSet1->Open();
//添加学生信息到窗口中
classid=ADODataSet1->FieldByName("classid")->AsString;
txt_Name->Text=ADODataSet1->FieldByName("name")->AsString;
txt_Pass->Text=ADODataSet1->FieldByName("pass")->AsString;
iswork=ADODataSet1->FieldByName("iswork")->AsString;
txtZS1->Text=ADODataSet1->FieldByName("zs1")->AsString;
txtZS2->Text = ADODataSet1->FieldByName("zs2")->AsString;
txtZS3->Text = ADODataSet1->FieldByName("zs3")->AsString;
txtJLCF->Text = ADODataSet1->FieldByName("jlcf")->AsString;
txtJY->Text = ADODataSet1->FieldByName("jy")->AsString;
if(ADODataSet1->FieldByName("ischecked")=="1")
{
chkSP->Checked = false;
}
else
{
chkSP->Checked=true;
}
if(iswork=="True")
{
chk_Job->Checked=true;
txt_Unitname->Text=ADODataSet1->FieldByName("unitname")->AsString;
txt_Unitaddress->Text=ADODataSet1->FieldByName("unitaddress")->AsString;
txt_Unittel->Text=ADODataSet1->FieldByName("unittel")->AsString;
txt_Contactperson->Text=ADODataSet1->FieldByName("unitcontactperson")->AsString;
txtWeb->Text = ADODataSet1->FieldByName("unitweb")->AsString;
}
else
{
chk_Job->Checked=false;
}
ADODataSet1->Close();
ADODataSet1->CommandText="SELECT * FROM TBCLASS where id="+classid;
ADODataSet1->Open();
cmb_Class->Items->Add(ADODataSet1->FieldByName("name")->AsString);
cmb_Class->ItemIndex=0;
majorid=ADODataSet1->FieldByName("majorid")->AsString;
gradeid=ADODataSet1->FieldByName("gradeid")->AsString;
ADODataSet1->Close();
ADODataSet1->CommandText="select * from tbGrade where id="+gradeid;
ADODataSet1->Open();
cmb_Grade->Items->Add(ADODataSet1->FieldByName("name")->AsString);
cmb_Grade->ItemIndex=0;
ADODataSet1->Close();
ADODataSet1->CommandText="select * from tbMajor where id="+majorid;
ADODataSet1->Open();
yxid=ADODataSet1->FieldByName("yxid")->AsString;
cmb_Major->Items->Add(ADODataSet1->FieldByName("name")->AsString);
cmb_Major->ItemIndex=0;
ADODataSet1->Close();
ADODataSet1->CommandText="select name from tbyx where id=" +yxid;
ADODataSet1->Open();
cmb_YX->ItemIndex=cmb_YX->Items->IndexOf(ADODataSet1->FieldByName("name")->AsString);
ADODataSet1->Close();
txt_Num->Enabled=false;
}
if(method==0)
{
btn_Enter->Caption="注 册";
chk_Job->Checked=false;
txt_Unitname->Enabled=false;
txt_Unitaddress->Enabled=false;
txt_Unittel->Enabled=false;
txt_Contactperson->Enabled=false;
RefreshYX();
cmb_Major->Clear();
cmb_Grade->Clear();
cmb_Class->Clear();
}
}
//---------------------------------------------------------------------------
void __fastcall TfrmStudent::cmb_YXChange(TObject *Sender)
{
RefreshMajor(cmb_YX->Text);
cmb_Grade->Clear();
cmb_Class->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TfrmStudent::cmb_MajorChange(TObject *Sender)
{
RefreshGrade();
cmb_Class->Clear();
}
//---------------------------------------------------------------------------
void __fastcall TfrmStudent::cmb_GradeChange(TObject *Sender)
{
RefreshClass(cmb_Major->Text,cmb_Grade->Text);
}
//---------------------------------------------------------------------------
void __fastcall TfrmStudent::btnWebClick(TObject *Sender)
{
ShellExecute(Handle,"open",txtWeb->Text.c_str(),NULL,NULL,SW_SHOWDEFAULT);
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -