📄 cjzbtempunit.pas
字号:
unit cjzbtempunit;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Mask, StdCtrls, ExtCtrls, DB, DBTables, ADODB;
type
Tcjzbtemp = class(TForm)
Panel1: TPanel;
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
ComboBox1: TComboBox;
ComboBox2: TComboBox;
Edit1: TEdit;
Button1: TButton;
MaskEdit1: TMaskEdit;
qry: TQuery;
DataSource1: TDataSource;
qry1: TQuery;
DataSource2: TDataSource;
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ComboBox1Exit(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
cjzbtemp: Tcjzbtemp;
implementation
uses datadomule, cjzbdyunit;
{$R *.dfm}
procedure Tcjzbtemp.RadioButton1Click(Sender: TObject);
begin
label1.Visible:=true;
label2.Visible:=true;
label3.Visible:=false;
combobox1.Visible:=true;
combobox2.Visible:=true;
edit1.Visible:=false;
end;
procedure Tcjzbtemp.RadioButton2Click(Sender: TObject);
begin
label1.Visible:=false;
label2.Visible:=false;
label3.Visible:=true;
combobox1.Visible:=false;
combobox2.Visible:=false;
edit1.Visible:=true;
end;
procedure Tcjzbtemp.FormCreate(Sender: TObject);
begin
combobox1.Items.clear;
with datamodule1.qry_cjzb do
begin
close;
sql.clear;
sql.add('select * from zyb0') ;
open;
first;
if recordcount>0 then
// combobox1.text:=Fields[1].asstring;
repeat
combobox1.items.add(fields[1].asstring);
until findnext=false;
end;
end;
procedure Tcjzbtemp.ComboBox1Exit(Sender: TObject);
begin
combobox2.Items.Clear;
with datamodule1.qry_bycp do
begin
close;
sql.Clear;
sql.add('select * from bjb0 where zymc=:name');
parambyname('name').asstring:=combobox1.text;
open;
if recordcount>0 then
combobox2.text:=Fields[0].asstring;
repeat
combobox2.items.add(fields[0].asstring);
until findnext=false;
end;
end;
procedure Tcjzbtemp.Button1Click(Sender: TObject);
var i:integer;
cj:real;
begin //b
cj:=0;
if radiobutton2.Checked then //打印某人成绩
begin //1
with qry do
begin
close;
sql.Clear ;
sql.Add('select xsxh_id,xm00,zymc from vzyb where xsxh_id=:id');
parambyname('id').asstring:=edit1.text;
open;
if not findfirst then
begin
application.MessageBox('该学号不存在,请核对后再输!','提示',mb_ok+mb_iconinformation);
exit;
end;
combobox1.Text:=fields[2].AsString;
end;
with datamodule1.qry_cjzb do ///////// 1 term
begin
close;
sql.Clear;
sql.Add('delete from cjzb1');
execsql;
sql.Clear;
sql.Add('select * from cjzb1');
open;
edit;
fields[0].AsString:=qry.Fields[0].AsString; //添加姓名学号
fields[1].AsString:=qry.Fields[1].AsString;
post;
end;
with qry do
begin //2
close;
sql.Clear ;
sql.Add('select * from cjb0 where xsxh_id=:id and kkxq=:xq and kclb='+''''+'必修'+'''');
parambyname('id').asstring:=edit1.Text;
parambyname('xq').asstring:=maskedit1.Text+'-1';
open;
first;
if findfirst then
begin
datamodule1.qry_cjzb.Edit;
i:=0;
while i<qry.RecordCount do
begin
datamodule1.qry_cjzb.Fields[i+2].AsString:=qry.fields[5].AsString;
datamodule1.qry_cjzb.Fields[i+17].AsString:=qry.fields[9].AsString;
datamodule1.qry_cjzb.Fields[i+32].AsString:=qry.fields[10].AsString;
if (qry.fields[10].AsString='优秀') or (qry.fields[10].AsString='良好') or (qry.fields[10].AsString='中等') or (qry.fields[10].AsString='及格') or (qry.fields[10].AsString='不及格') then
begin
if (qry.fields[10].AsString='不及格') then
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from bkcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
qry1.ParamByName('kc').asstring:=qry.fields[4].AsString;
qry1.open;
if (qry1.fields[9].AsString='优秀') or (qry1.fields[9].AsString='良好') or (qry1.fields[9].AsString='中等') or (qry1.fields[9].AsString='及格') then
begin
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+qry1.fields[9].AsString+')';
end
else
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from cxcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
qry1.ParamByName('kc').asstring:=qry.fields[4].AsString;
qry1.open;
if qry1.fields[9].AsString<>'' then
begin
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+qry1.fields[9].AsString+')';
end;
end;
end;
end
else
begin
if (qry.fields[10].AsString<>'') and (strtofloat(qry.fields[10].AsString)<60) then
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from bkcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
qry1.ParamByName('kc').asstring:=qry.fields[4].AsString;
qry1.open;
cj:=0;
if qry1.fields[9].AsString<>'' then
begin
cj:=strtofloat(qry1.fields[9].AsString);
end;
if (qry1.fields[9].AsString<>'') and (strtofloat(qry1.fields[9].AsString)>59) then
begin
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+qry1.fields[9].AsString+')';;
end
else
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from cxcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
qry1.ParamByName('kc').asstring:=qry.fields[4].AsString;
qry1.open;
if (qry1.fields[9].AsString='') and (cj<>0) then
begin
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+floattostr(cj)+')'
end
else
begin
if qry1.fields[9].AsString<>'' then
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+qry1.fields[9].AsString+')';;
end;
end;
end
end;
i:=i+1;
qry.Next;
end;
datamodule1.qry_cjzb.Post;
end;
end; //2
////////////////////////////////////////////以下是选修课程成绩
with datamodule1.qry_cjzb do
begin
close;
sql.Clear ;
sql.Add('select * from cjzb1') ;
open;
first; //point to the first student
end;
with qry do
begin
close;
sql.Clear ;
sql.Add('select * from cjb0 where xsxh_id=:id and kkxq=:xq and kclb='+''''+'选修'+'''');
parambyname('id').asstring:=edit1.Text;
parambyname('xq').asstring:=maskedit1.Text+'-1';
open;
first;
if findfirst then
begin
datamodule1.qry_cjzb.Edit;
i:=0;
while i<qry.RecordCount do
begin
datamodule1.qry_cjzb.Fields[i+14].AsString:=qry.fields[5].AsString;
datamodule1.qry_cjzb.Fields[i+29].AsString:=qry.fields[9].AsString;
datamodule1.qry_cjzb.Fields[i+44].AsString:=qry.fields[10].AsString;
i:=i+1;
qry.Next;
end;
datamodule1.qry_cjzb.post;
end;
end;
/////////////////////////////////////////// 第二学期
with qry do
begin
close;
sql.Clear ;
sql.Add('select xsxh_id,xm00,zymc from vzyb where xsxh_id=:id');
parambyname('id').asstring:=edit1.text;
open;
end;
with datamodule1.qry_cjzb do
begin
close;
sql.Clear;
sql.Add('delete from cjzb2');
execsql;
sql.Clear;
sql.Add('select * from cjzb2');
open;
edit;
fields[0].AsString:=qry.Fields[0].AsString; //添加姓名学号
fields[1].AsString:=qry.Fields[1].AsString;
post;
end;
with qry do
begin //2
close;
sql.Clear ;
sql.Add('select * from cjb0 where xsxh_id=:id and kkxq=:xq and kclb='+''''+'必修'+'''');
parambyname('id').asstring:=edit1.Text;
parambyname('xq').asstring:=maskedit1.Text+'-2';
open;
first;
if findfirst then
begin
datamodule1.qry_cjzb.Edit;
i:=0;
while i<qry.RecordCount do
begin
datamodule1.qry_cjzb.Fields[i+2].AsString:=qry.fields[5].AsString;
datamodule1.qry_cjzb.Fields[i+17].AsString:=qry.fields[9].AsString;
datamodule1.qry_cjzb.Fields[i+32].AsString:=qry.fields[10].AsString;
if (qry.fields[10].AsString='优秀') or (qry.fields[10].AsString='良好') or (qry.fields[10].AsString='中等') or (qry.fields[10].AsString='及格') or (qry.fields[10].AsString='不及格') then
begin
if (qry.fields[10].AsString='不及格') then
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from bkcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
qry1.ParamByName('kc').asstring:=qry.fields[4].AsString;
qry1.open;
if (qry1.fields[9].AsString='优秀') or (qry1.fields[9].AsString='良好') or (qry1.fields[9].AsString='中等') or (qry1.fields[9].AsString='及格') then
begin
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+qry1.fields[9].AsString+')';
end
else
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from cxcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
qry1.ParamByName('kc').asstring:=qry.fields[4].AsString;
qry1.open;
if qry1.fields[9].AsString<>'' then
begin
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+qry1.fields[9].AsString+')';
end;
end;
end;
end
else
begin
if (qry.fields[10].AsString<>'') and (strtofloat(qry.fields[10].AsString)<60) then
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from bkcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
qry1.ParamByName('kc').asstring:=qry.fields[4].AsString;
qry1.open;
cj:=0;
if qry1.fields[9].AsString<>'' then
begin
cj:=strtofloat(qry1.fields[9].AsString);
end;
if (qry1.fields[9].AsString<>'') and (strtofloat(qry1.fields[9].AsString)>59) then
begin
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+qry1.fields[9].AsString+')';;
end
else
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from cxcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
qry1.ParamByName('kc').asstring:=qry.fields[4].AsString;
qry1.open;
if (qry1.fields[9].AsString='') and (cj<>0) then
begin
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+floattostr(cj)+')'
end
else
begin
if qry1.fields[9].AsString<>'' then
datamodule1.qry_cjzb.Fields[i+47].AsString:='('+qry1.fields[9].AsString+')';;
end;
end;
end
end;
i:=i+1;
qry.Next;
end;
datamodule1.qry_cjzb.Post;
end;
end; //2
////////////////////////////////////////////以下是选修课程成绩
with datamodule1.qry_cjzb do
begin
close;
sql.Clear ;
sql.Add('select * from cjzb2') ;
open;
first; //point to the first student
end;
with qry do
begin
close;
sql.Clear ;
sql.Add('select * from cjb0 where xsxh_id=:id and kkxq=:xq and kclb='+''''+'选修'+'''');
parambyname('id').asstring:=edit1.Text;
parambyname('xq').asstring:=maskedit1.Text+'-2';
open;
first;
if findfirst then
begin
datamodule1.qry_cjzb.Edit;
i:=0;
while i<qry.RecordCount do
begin
datamodule1.qry_cjzb.Fields[i+14].AsString:=qry.fields[5].AsString;
datamodule1.qry_cjzb.Fields[i+29].AsString:=qry.fields[9].AsString;
datamodule1.qry_cjzb.Fields[i+44].AsString:=qry.fields[10].AsString;
i:=i+1;
qry.Next;
end;
datamodule1.qry_cjzb.post;
end;
end;
////////////////////////////第三学期
with qry do
begin
close;
sql.Clear ;
sql.Add('select xsxh_id,xm00,zymc from vzyb where xsxh_id=:id');
parambyname('id').asstring:=edit1.text;
open;
end;
with datamodule1.qry_cjzb do
begin
close;
sql.Clear;
sql.Add('delete from cjzb2');
execsql;
sql.Clear;
sql.Add('select * from cjzb2');
open;
edit;
fields[0].AsString:=qry.Fields[0].AsString; //添加姓名学号
fields[1].AsString:=qry.Fields[1].AsString;
post;
end;
with qry do
begin //2
close;
sql.Clear ;
sql.Add('select * from cjb0 where xsxh_id=:id and kkxq=:xq and kclb='+''''+'必修'+'''');
parambyname('id').asstring:=edit1.Text;
parambyname('xq').asstring:=maskedit1.Text+'-2';
open;
first;
if findfirst then
begin
datamodule1.qry_cjzb.Edit;
i:=0;
while i<qry.RecordCount do
begin
datamodule1.qry_cjzb.Fields[i+2].AsString:=qry.fields[5].AsString;
datamodule1.qry_cjzb.Fields[i+17].AsString:=qry.fields[9].AsString;
datamodule1.qry_cjzb.Fields[i+32].AsString:=qry.fields[10].AsString;
if (qry.fields[10].AsString='优秀') or (qry.fields[10].AsString='良好') or (qry.fields[10].AsString='中等') or (qry.fields[10].AsString='及格') or (qry.fields[10].AsString='不及格') then
begin
if (qry.fields[10].AsString='不及格') then
begin
qry1.Close;
qry1.SQL.Clear ;
qry1.SQL.Add('select * from bkcj where xsxh_id=:id and kcbh=:kc');
qry1.ParamByName('id').asstring:=edit1.text;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -