📄 jiaowu.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 + -