📄 mngquery.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "MngQuery.h"
#include "DataUnit.h"
#include "SelCourse.h"
#include "ModifyPassword.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMngQryForm *MngQryForm;
//---------------------------------------------------------------------------
__fastcall TMngQryForm::TMngQryForm(TComponent* Owner)
: TForm(Owner)
{
m_strManagerName = "" ;
}
//---------------------------------------------------------------------------
_fastcall TMngQryForm::ShowData()
{
AnsiString tableName = "";
switch(CatgGroup->ItemIndex)
{
case 0:
tableName = "EduManager" ;
break;
case 1:
tableName = "Course" ;
break;
case 2:
tableName = "Department" ;
break;
case 3:
tableName = "Student" ;
break;
case 4:
tableName = "Grade" ;
break;
default:
break;
}
AnsiString queryStr = "Select * from " ;
queryStr += tableName ;
DataMod->GeneralQuery->Close() ;
DataMod->GeneralQuery->SQL->Clear() ;
if(CatgGroup->ItemIndex !=4 )
{
DataMod->GeneralQuery->SQL->Add(queryStr) ;
try
{
//执行查询
DataMod->GeneralQuery->ExecSQL() ;
DataMod->GeneralQuery->Active = True ;
switch(CatgGroup->ItemIndex)
{
case 0:
DataMod->GeneralQuery->FieldByName("EMName")->DisplayLabel ="教务注册名" ;
DataMod->GeneralQuery->FieldByName("EPassword")->DisplayLabel ="口 令" ;
break;
case 1:
DataMod->GeneralQuery->FieldByName("CourseNo")->DisplayLabel ="课程号" ;
DataMod->GeneralQuery->FieldByName("CourseName")->DisplayLabel ="课程名称" ;
DataMod->GeneralQuery->FieldByName("CourseKind")->DisplayLabel ="课程类别" ;
DataMod->GeneralQuery->FieldByName("Score")->DisplayLabel ="学 分" ;
DataMod->GeneralQuery->FieldByName("Term")->Visible = false ;
DataMod->GeneralQuery->FieldByName("Time")->DisplayLabel ="上课时间" ;
DataMod->GeneralQuery->FieldByName("StudentMaxNum")->DisplayLabel ="名 额" ;
break;
case 2:
DataMod->GeneralQuery->FieldByName("DepartNo")->DisplayLabel ="系 号" ;
DataMod->GeneralQuery->FieldByName("DepartName")->DisplayLabel ="系 名" ;
DataMod->GeneralQuery->FieldByName("Phone")->DisplayLabel ="电 话" ;
break;
case 3:
DataMod->GeneralQuery->FieldByName("StudentNo")->DisplayLabel ="学 号" ;
DataMod->GeneralQuery->FieldByName("StudentName")->DisplayLabel ="姓 名" ;
DataMod->GeneralQuery->FieldByName("SPassword")->DisplayLabel ="口 令" ;
DataMod->GeneralQuery->FieldByName("Sex")->DisplayLabel ="性 别" ;
DataMod->GeneralQuery->FieldByName("Age")->DisplayLabel ="年 龄" ;
DataMod->GeneralQuery->FieldByName("BirthPlace")->DisplayLabel ="生源地" ;
DataMod->GeneralQuery->FieldByName("DepartNo")->DisplayLabel ="系 号" ;
break;
default:
break;
}
}
catch(EDBEngineError &E)
{
return FALSE ;
}
}
else
{
//如果选择浏览课程成绩,必须先选择一门课程
TSelectCourseDlg *SelectCourseDlg = new TSelectCourseDlg(this) ;
if(SelectCourseDlg->ShowModal() == mrOk )
{
//然后显示所选择的课程的成绩表数据
//需要先依据课程号查询成绩表
queryStr = "Select * from Grade where CourseNo = \"" ;
queryStr += SelectCourseDlg->m_strSelCourseNo ;
queryStr += "\" Group by StudentNo,Term,GradeNo,Score,CourseNo,CourseKind,PlanCourse" ;
DataMod->GeneralQuery->SQL->Add(queryStr) ;
try
{
//执行查询
DataMod->GeneralQuery->ExecSQL() ;
DataMod->GeneralQuery->Active = True ;
DataMod->GeneralQuery->FieldByName("GradeNo")->Visible = false ;
DataMod->GeneralQuery->FieldByName("StudentNo")->DisplayLabel ="学 号" ;
DataMod->GeneralQuery->FieldByName("CourseNo")->DisplayLabel ="课程号" ;
DataMod->GeneralQuery->FieldByName("CourseKind")->DisplayLabel ="课程类别" ;
DataMod->GeneralQuery->FieldByName("Score")->DisplayLabel ="成 绩" ;
DataMod->GeneralQuery->FieldByName("Term")->DisplayLabel ="开课学期" ;
DataMod->GeneralQuery->FieldByName("PlanCourse")->DisplayLabel ="是否属于计划课程" ;
}
catch(EDBEngineError &E)
{
return FALSE ;
}
}
delete SelectCourseDlg ;
}
return TRUE ;
}
void __fastcall TMngQryForm::FormShow(TObject *Sender)
{
if(!ShowData())
MessageBox(this,"查询失败!","错误",mbOK ) ;
}
//---------------------------------------------------------------------------
void __fastcall TMngQryForm::CatgGroupClick(TObject *Sender)
{
if(!ShowData())
MessageBox(this,"查询失败!","错误",mbOK ) ;
}
//---------------------------------------------------------------------------
void __fastcall TMngQryForm::OKBtnClick(TObject *Sender)
{
Close() ;
}
//---------------------------------------------------------------------------
void __fastcall TMngQryForm::PasswordBtnClick(TObject *Sender)
{
TMdfPwdDlg *MdfPwdDlg = new TMdfPwdDlg(this) ;
if(MdfPwdDlg->ShowModal() == mrOk )
{
//修改口令
DataMod->EduManagQuery->SQL->Clear() ;
DataMod->EduManagQuery->Close() ;
try
{
//查询EduManager.db数据表
AnsiString queryString = "Select * from EduManager" ;
queryString += " where EMName = " ;
queryString += "\"" ;
queryString += m_strManagerName ;
queryString += "\"" ;
DataMod->EduManagQuery->SQL->Add(queryString) ;
//允许修改与TQuery控件相连的数据库文件
DataMod->EduManagQuery->RequestLive = true ;
DataMod->EduManagQuery->ExecSQL() ;
DataMod->EduManagQuery->Active = true ;
//首先将表设置为编辑模式
DataMod->EduManagQuery->Edit() ;
//修改口令
DataMod->EduManagQuery->FieldValues["EPassword"]=
MdfPwdDlg->FstTimeEdt->Text ;
DataMod->EduManagQuery->Post() ;
//修改完成之后,关闭数据表
DataMod->EduManagQuery->Close() ;
}
catch(EDBEngineError &E)
{
MessageBox(this,"不能修改口令!","错误",mbOK ) ;
delete MdfPwdDlg ;
return ;
}
}
//释放内存资源
delete MdfPwdDlg ;
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -