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

📄 cjzbtempunit.pas

📁 高校学生学籍管理系统源码
💻 PAS
📖 第 1 页 / 共 5 页
字号:
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 + -