⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datamanager.cpp

📁 学生选课管理信息系统原码
💻 CPP
📖 第 1 页 / 共 2 页
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "DataManager.h"
#include "DataUnit.h"
#include "SelCourse.h"
#include "SelStudent.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TDataManagerForm *DataManagerForm;
//---------------------------------------------------------------------------
__fastcall TDataManagerForm::TDataManagerForm(TComponent* Owner)
        : TForm(Owner)
{
  GradeNo = 0 ;
  m_strCouresKind = "" ;
  m_strCourseNo ="" ;
  m_strStudentNo = "" ;
  m_strTerm = "" ;
}
//---------------------------------------------------------------------------
void __fastcall TDataManagerForm::FormShow(TObject *Sender)
{
  switch(PageControl1->ActivePage->TabIndex)
  {
    //切换PageControl1中的TabSheet,对不同的数据表进行操作
    case 0:
      DBNavigator1->DataSource = DataMod->EduManagSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 1:
      DBNavigator1->DataSource = DataMod->DepartmentSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = true ;                   
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 2:
      DBNavigator1->DataSource = DataMod->StudentSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 3:
      DBNavigator1->DataSource = DataMod->CourseSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 4:
      DBNavigator1->DataSource = DataMod->GradeSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = false ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 5:
      DBNavigator1->Enabled = false ;
      DeleteBtn->Enabled = false ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 6:
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = false ;
      PostBtn->Enabled = false ;
      CancelBtn->Enabled = false ;
      DBNavigator1->DataSource = DataMod->GeneralDataSource ;
      break ;
  }

  DataMod->EduManagQuery->Close() ;
  DataMod->EduManagQuery->SQL->Clear() ;
  DataMod->DepartmentQuery->Close() ;
  DataMod->DepartmentQuery->SQL->Clear() ;
  DataMod->StudentQuery->Close() ;
  DataMod->StudentQuery->SQL->Clear() ;
  DataMod->CourseQuery->Close() ;
  DataMod->CourseQuery->SQL->Clear() ;
  DataMod->GradeQuery->Close() ;
  DataMod->GradeQuery->SQL->Clear() ;
  DataMod->GeneralQuery->Close() ;
  DataMod->GeneralQuery->SQL->Clear() ;
  //构造查询不同数据表的SQL语句,并执行查询
  AnsiString queryString = "" ;
  queryString = "Select * from EduManager" ;
  DataMod->EduManagQuery->SQL->Add(queryString) ;
  DataMod->EduManagQuery->RequestLive = true ;
  DataMod->EduManagQuery->ExecSQL() ;
  DataMod->EduManagQuery->Open() ;

  queryString = "Select * from Department" ;
  DataMod->DepartmentQuery->SQL->Add(queryString) ;
  DataMod->DepartmentQuery->RequestLive = true ;
  DataMod->DepartmentQuery->ExecSQL() ;
  DataMod->DepartmentQuery->Open() ;

  queryString = "Select * from Student" ;
  DataMod->StudentQuery->SQL->Add(queryString) ;
  DataMod->StudentQuery->RequestLive = true ;
  DataMod->StudentQuery->ExecSQL() ;
  DataMod->StudentQuery->Open() ;

  queryString = "Select * from Course" ;
  DataMod->CourseQuery->SQL->Add(queryString) ;
  DataMod->CourseQuery->RequestLive = true ;
  DataMod->CourseQuery->ExecSQL() ;
  DataMod->CourseQuery->Open() ;

  queryString = "Select * from Grade " ;
  DataMod->GradeQuery->SQL->Add(queryString) ;
  DataMod->GradeQuery->RequestLive = true ;
  DataMod->GradeQuery->ExecSQL() ;
  DataMod->GradeQuery->Open() ;

  queryString = "Select * from Grade where PlanCourse=\"是\" " ;
  DataMod->GeneralQuery->SQL->Add(queryString) ;
  DataMod->GeneralQuery->RequestLive = true ;
  DataMod->GeneralQuery->ExecSQL() ;
  DataMod->GeneralQuery->Open() ;
  //以中文形式显示字段名
  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")->Visible = false ;
  DataMod->GeneralQuery->FieldByName("Term")->DisplayLabel ="开课学期" ;
  DataMod->GeneralQuery->FieldByName("PlanCourse")->DisplayLabel ="是否属于计划课程" ;
}
//---------------------------------------------------------------------------

void __fastcall TDataManagerForm::PageControl1Change(TObject *Sender)
{
  switch(PageControl1->ActivePage->TabIndex)
  {
    //切换PageControl1中的TabSheet,对不同的数据表进行操作
    case 0:
      DBNavigator1->DataSource = DataMod->EduManagSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 1:
      DBNavigator1->DataSource = DataMod->DepartmentSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 2:
      DBNavigator1->DataSource = DataMod->StudentSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;              
      CancelBtn->Enabled = true ;
      break ;
    case 3:
      DBNavigator1->DataSource = DataMod->CourseSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 4:
      DBNavigator1->DataSource = DataMod->GradeSource ;
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = false ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 5:
      DBNavigator1->Enabled = false ;
      DeleteBtn->Enabled = false ;
      InsertBtn->Enabled = true ;
      PostBtn->Enabled = true ;
      CancelBtn->Enabled = true ;
      break ;
    case 6:
      DBNavigator1->Enabled = true ;
      DeleteBtn->Enabled = true ;
      InsertBtn->Enabled = false ;
      PostBtn->Enabled = false ;
      CancelBtn->Enabled = false ;
      DBNavigator1->DataSource = DataMod->GeneralDataSource ;
      AnsiString queryString6 = "Select * from Grade where PlanCourse=\"是\" " ;

      DataMod->GeneralQuery->SQL->Clear() ;
      DataMod->GeneralQuery->SQL->Add(queryString6) ;
      DataMod->GeneralQuery->RequestLive = true ;
      DataMod->GeneralQuery->ExecSQL() ;
      DataMod->GeneralQuery->Open() ;
      //以中文形式显示字段名
      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")->Visible = false ;
      DataMod->GeneralQuery->FieldByName("Term")->DisplayLabel ="开课学期" ;
      DataMod->GeneralQuery->FieldByName("PlanCourse")->DisplayLabel ="是否属于计划课程" ;
      break ;
  }
}
//---------------------------------------------------------------------------

void __fastcall TDataManagerForm::InsertBtnClick(TObject *Sender)
{
  switch(PageControl1->ActivePage->TabIndex )
  {
    //对PageControl1中的EduMngTabSht,DepartTabSht,StuTabSht,CourseTabSht,
    // StudyPlanTabSht1对应地数据表进行插入操作
    case 0:
      DataMod->EduManagQuery->Insert() ;
      break ;
    case 1:
      DataMod->DepartmentQuery->Insert() ;
      break ;
    case 2:
      DataMod->StudentQuery->Insert() ;
      break ;
    case 3:
      DataMod->CourseQuery->Insert() ;
      break ;
    case 5:
      Edit1->Text = "" ;
      Edit2->Text = "" ;
      Edit3->Text = "" ;
      Edit4->Text = "" ;
      break ;
  }
}
//---------------------------------------------------------------------------


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -