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

📄 jiaowu.pas

📁 DElphi教学排课管理系统全套 包括论文。希望对大家有帮助
💻 PAS
字号:
unit jiaowu;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, StdCtrls, ComCtrls, Grids, DBGrids, Mask, DBCtrls,
  ExtCtrls, DBTables, DB;

type
  TForm11 = class(TForm)
    SpeedButton1: TSpeedButton;
    PageControl1: TPageControl;
    TabSheet1: TTabSheet;
    TabSheet2: TTabSheet;
    TabSheet3: TTabSheet;
    TabSheet4: TTabSheet;
    Label1: TLabel;
    DBGrid1: TDBGrid;
    GroupBox1: TGroupBox;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    DBEdit1: TDBEdit;
    DBEdit2: TDBEdit;
    DBEdit3: TDBEdit;
    DBEdit4: TDBEdit;
    Label6: TLabel;
    DBRadioGroup1: TDBRadioGroup;
    DBMemo1: TDBMemo;
    B_pass: TButton;
    B_reject: TButton;
    T_course_apply: TTable;
    DS_course_apply: TDataSource;
    T_teacher: TTable;
    DS_teacher: TDataSource;
    Q_update: TQuery;
    DBGrid2: TDBGrid;
    Label7: TLabel;
    Label8: TLabel;
    i_classroom: TEdit;
    Label9: TLabel;
    i_time: TEdit;
    B_submit: TButton;
    B_disable: TButton;
    B_print_course: TButton;
    B_clear_all: TButton;
    DBGrid3: TDBGrid;
    Q_course_not_actived: TQuery;
    DS_course_not_actived: TDataSource;
    Q_course_actived: TQuery;
    DS_course_actived: TDataSource;
    Q_submit: TQuery;
    DBGrid4: TDBGrid;
    Label10: TLabel;
    DBGrid5: TDBGrid;
    Label11: TLabel;
    Button1: TButton;
    T_course_select: TTable;
    DS_course_select: TDataSource;
    T_score: TTable;
    DS_score: TDataSource;
    T_counter_F: TTable;
    Label12: TLabel;
    i_course_id: TEdit;
    Label13: TLabel;
    O_course_name: TDBEdit;
    Q_score_list: TQuery;
    GroupBox2: TGroupBox;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Label18: TLabel;
    o_num_total: TEdit;
    o_score_max: TEdit;
    o_score_avg: TEdit;
    o_score_min: TEdit;
    o_num_failed: TEdit;
    B_query: TButton;
    DBGrid6: TDBGrid;
    B_print_score: TButton;
    Label19: TLabel;
    DS_score_list: TDataSource;
    T_course_info: TTable;
    DS_course_info: TDataSource;
    Q_info: TQuery;
    Label20: TLabel;
    SpeedButton2: TSpeedButton;
    procedure SpeedButton1Click(Sender: TObject);
    procedure TabSheet1Show(Sender: TObject);
    procedure B_passClick(Sender: TObject);
    procedure B_rejectClick(Sender: TObject);
    procedure TabSheet2Show(Sender: TObject);
    procedure B_submitClick(Sender: TObject);
    procedure B_disableClick(Sender: TObject);
    procedure B_print_courseClick(Sender: TObject);
    procedure B_clear_allClick(Sender: TObject);
    procedure TabSheet3Show(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure B_queryClick(Sender: TObject);
    procedure B_print_scoreClick(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure SpeedButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form11: TForm11;

implementation

uses student, teach;

{$R *.dfm}

procedure TForm11.SpeedButton1Click(Sender: TObject);
begin
      form11.Hide;
      form3.show;
end;

procedure TForm11.TabSheet1Show(Sender: TObject);
begin
      T_course_apply.Open ;   //激活申请课程表
      T_teacher.open;     //激活教师表

end;

procedure TForm11.B_passClick(Sender: TObject);
begin
  Q_update.Close;    //通过申请
  Q_update.SQL.Clear;
  Q_update.SQL.Add('UPDATE COURSE');
  Q_update.SQL.Add('SET STATE="4"');
  Q_update.SQL.Add('WHERE ID='''+T_course_apply['ID']+'''');
  Q_update.ExecSQL;   //执行修改课程状态的SQL语句
  T_course_apply.Refresh;
end;

procedure TForm11.B_rejectClick(Sender: TObject);
begin
    Q_update.Close;  //拒绝申请
    Q_update.SQL.Clear;
    Q_update.SQL.Add('UPDATE COURSE');  //修改sql语句
    Q_update.SQL.Add('SET STATE="6"');
    Q_update.SQL.Add('WHERE ID='''+T_course_apply['ID']+'''');
    Q_update.ExecSQL;
    T_course_apply.Refresh;   //刷新课表
end;

procedure TForm11.TabSheet2Show(Sender: TObject);  //初始化表单
begin
    Q_course_not_actived.Close;    //关闭未分配课程查询
    Q_course_actived.Close ;   //关闭已分配课程查询
    Q_course_not_actived.Open ; //打开未分配课程查询列表
    Q_course_actived.Open ;   //打开已分配课程查询列表
end;

procedure TForm11.B_submitClick(Sender: TObject);    //提交分配的处理程序
begin
  With Q_submit do
  begin
    Close;
    SQL.Clear;
    SQL.Add('UPDATE COURSE');
    SQL.Add('SET CLASSROOM="'+i_classroom.Text+
                   '", CLASSTIME="'+i_time.Text+
                   '", STATE="3"');
    SQL.Add('WHERE ID="'+Q_course_not_actived['ID']+'"');
    ExecSQL;
  end;
  TabSheet2Show(nil);       //执行sql
  i_classroom.Text:='';
  i_time.Text:='';
end;

procedure TForm11.B_disableClick(Sender: TObject);     //取消当前分配
begin
  With Q_submit do
  begin
    Close;
    SQL.Clear;
    SQL.Add('UPDATE COURSE');  //更新course数据表
    SQL.Add('SET STATE="4"');
    SQL.Add('WHERE ID="'+Q_course_actived['ID']+'"');
    ExecSQL;
  end;
  TabSheet2Show(nil);   //刷新表单
end;

procedure TForm11.B_print_courseClick(Sender: TObject);
begin
     showmessage('本系统暂时没有和打印机连接起来!');
end;

procedure TForm11.B_clear_allClick(Sender: TObject);
begin
if Application.MessageBox('确认要清除所有已分配资源?','操作确认', MB_OKCANCEL)=IDOK then
  begin
    With Q_submit do
    begin
      Close;
      SQL.Clear;
      SQL.Add('UPDATE COURSE');        //把所有course的状态为3的改为4
      SQL.Add('SET STATE="4"');
      SQL.Add('WHERE STATE="3"');
      ExecSQL;
    end;
    TabSheet2Show(nil);
  end;
end;

procedure TForm11.TabSheet3Show(Sender: TObject);  //主要功能是将选课的结果转移到成绩单中,同时兼有修改功能。
begin
    T_course_select.Open ;    //打开已选课程数据表
    T_score.Open ;    //打开成绩数据表
end;

procedure TForm11.Button1Click(Sender: TObject);   //转移记录按钮
var counter:integer;
begin
   T_counter_F.Open ;   //打开计数表
   COUNTER:=T_counter_F['counter_value'];
   T_course_select.First ;        //跳转至一选课程列表的第一行
   while not T_course_select.Eof do      //依次对所有记录进行操作
   begin
     inc(counter);
     T_score.AppendRecord([counter,T_course_select['STUDENT'],T_course_select['COURSE'],0]); //转移记录
     T_course_select.Delete ; //删除旧记录
   end;
   T_counter_F.Edit ;
   T_counter_F['COUNTER_VALUE']:=counter;  //设置计数值
   T_counter_F.Post ;     //提交修改
end;

procedure TForm11.B_queryClick(Sender: TObject);    //输入课程编号后,单击"查询“按钮进行课程成绩单查询过程
begin
  T_course_info.Filter:='ID='''+i_course_id.Text+'''';
  T_course_info.Filtered:=True;
  T_course_info.Open;           //提取课程信息
  if T_course_info.RecordCount=1 then  //判断记录是否存在
  begin
    //显示成绩列表
    Q_score_list.Close;
    Q_score_list.Params[0].AsString:=i_course_id.Text;
    Q_score_list.Open;
    //查询课程统计信息
    Q_info.Close;     //关闭统计信息查询
    Q_info.SQL.Clear; //清除sql
    Q_info.SQL.Add('SELECT COUNT(STUDENT), AVG(SCORE), MAX(SCORE), MIN(SCORE)'+
                   ' FROM SCORE WHERE COURSE="'+
                   i_course_id.Text+'"');    //添加统计用sql语句
    Q_info.Open;    //打开查询
    o_num_total.Text:=Q_info['COUNT'];  //显示学生总人数
    o_score_max.Text:=Q_info['MAX'];  //显示最高成绩
    o_score_avg.Text:=Q_info['AVG'];  //显示平均成绩
    o_score_min.Text:=Q_info['MIN'];  //显示最低成绩
    Q_info.Close;   //关闭统计查询
    Q_info.SQL.Clear;  //清除sql
    Q_info.SQL.Add('SELECT COUNT(STUDENT) FROM SCORE'+
                   ' WHERE COURSE="'+i_course_id.Text+'"'+
                   ' AND SCORE<60');  //添加统计不及格人数的sql
    Q_info.Open;
    o_num_failed.Text:=Q_info['COUNT'];   //显示不及格人数
  end
  else
    Application.MessageBox('请确认课程编号','错误的编号',MB_OK);
end;

procedure TForm11.B_print_scoreClick(Sender: TObject);
begin
    showmessage('这只是个毕业设计,所以打印机功能未能配置!');
end;

procedure TForm11.Button2Click(Sender: TObject);
begin
//   showmessage('没有教师提交申请,待审批课程列表中无内容!');
  
end;

procedure TForm11.SpeedButton2Click(Sender: TObject);
begin
    showmessage('在输入课程编号时,请先查看选课结果查询管理界面');
end;

end.

⌨️ 快捷键说明

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