📄 score.pas
字号:
unit score;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, DBTables;
type
TScoreForm = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
ComboBox1: TComboBox;
Label5: TLabel;
Edit4: TEdit;
Label6: TLabel;
Label7: TLabel;
Edit5: TEdit;
Edit6: TEdit;
GroupBox2: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
Label8: TLabel;
Edit7: TEdit;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
Database1: TDatabase;
Label9: TLabel;
ComboBox2: TComboBox;
procedure BitBtn2Click(Sender: TObject);
procedure Database1Login(Database: TDatabase; LoginParams: TStrings);
procedure FormActivate(Sender: TObject);
procedure Edit1Exit(Sender: TObject);
procedure ComboBox1Exit(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
procedure initiate;
end;
var
ScoreForm: TScoreForm;
implementation
uses main;
{$R *.dfm}
procedure TScoreForm.BitBtn2Click(Sender: TObject);
begin
database1.Close;
Close;
end;
procedure TScoreForm.Database1Login(Database: TDatabase;
LoginParams: TStrings);
begin
loginparams.Clear;
loginparams.add('user_name=administator');
loginparams.add('password=650124');
end;
procedure TScoreForm.initiate;
begin
edit1.text:='';
edit2.text:='';
edit3.text:='';
edit4.text:='';
edit5.text:='';
edit6.text:='0';
edit7.text:='';
combobox1.text:='';
combobox2.text:='';
end;
procedure TScoreForm.FormActivate(Sender: TObject);
begin
initiate;
RadioButton1.Checked:=true;
Edit1.setfocus;
end;
procedure TScoreForm.Edit1Exit(Sender: TObject);
var
Query1:TQuery;
begin
if edit1.Text<>'' then
begin
Query1:=TQuery.Create(self);
Query1.DatabaseName:='student';
query1.close;
query1.sql.clear;
query1.SQL.add('select * from student where number=:s0');
query1.Params.clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=edit1.text;
query1.Open;
if Query1.IsEmpty then
begin
Application.MessageBox('您输入的学号错误,请检查!','提示信息',mb_ok);
Edit1.SetFocus;
end
else
begin
Edit2.text:=Query1.fieldbyname('name').asstring;
Edit3.text:=Query1.fieldbyname('Speciality').asstring;
Edit4.text:=Query1.fieldbyname('class').asstring;
end;
query1.Close;
query1.SQL.clear;
query1.SQL.Add('select * from course where speciality=:s0');
query1.Params.Clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=edit3.text;
query1.Open;
combobox1.Items.clear;
while not Query1.Eof do
begin
combobox1.Items.add(Query1.fieldbyname('name').asstring);
query1.next;
end;
query1.close;
end;
end;
procedure TScoreForm.ComboBox1Exit(Sender: TObject);
var
query1:TQuery;
begin
query1:=TQuery.Create(self);
query1.DatabaseName:='student';
query1.close;
query1.SQL.clear;
query1.SQL.add('select * from course where speciality=:s0 and name=:s1');
query1.Params.clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=edit3.text;
query1.Params.CreateParam(ftstring,'s1',ptinput);
query1.Params[1].Value:=combobox1.text;
query1.open;
edit5.text:=Query1.fieldbyname('score').asstring;
query1.close;
end;
procedure TScoreForm.BitBtn1Click(Sender: TObject);
var
query1:TQuery;
begin
Query1:=TQuery.Create(self);
Query1.DatabaseName:='student';
query1.Close;
query1.sql.clear;
query1.sql.add('select * from result where number=:s0 and coursename=:s1');
query1.Params.clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=Edit1.text;
query1.Params.CreateParam(ftstring,'s1',ptinput);
query1.Params[1].Value:=ComboBox1.text;
Query1.open;
if (Query1.IsEmpty) and (Not Radiobutton1.Checked) then
begin
Application.MessageBox('成绩表中没有该同学的该门课成绩,请检查!','提示信息',mb_ok);
end
else if (not Query1.IsEmpty)and(RadioButton1.Checked) then
Application.MessageBox('成绩表中没有该同学的该门课成绩,请检查!','提示信息',mb_ok)
else
begin
query1.Close;
query1.SQL.clear;
if RadioButton1.Checked then
begin
query1.sql.add('insert into result values(:s0,:S1,:S2,:S3,:S4,:s5,:s6,:s7,:s8,:s9)');
query1.Params.Clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=Edit1.text;
query1.Params.CreateParam(ftstring,'s1',ptinput);
query1.Params[1].Value:=Edit2.text;
query1.Params.CreateParam(ftstring,'s2',ptinput);
query1.Params[2].Value:=Edit3.text;
query1.Params.CreateParam(ftstring,'s3',ptinput);
query1.Params[3].Value:=combobox1.text;
query1.Params.CreateParam(ftstring,'s4',ptinput);
query1.Params[4].Value:=Combobox2.text;
query1.Params.CreateParam(ftstring,'s5',ptinput);
query1.Params[5].Value:=Edit6.text;
query1.Params.CreateParam(ftFloat,'s6',ptinput);
query1.Params[6].Value:=StrToFloat(Edit5.text);
query1.Params.CreateParam(ftstring,'s7',ptinput);
query1.Params[7].Value:=Edit7.text;
query1.Params.CreateParam(ftstring,'s8',ptinput);
query1.Params[8].Value:=username;
query1.Params.CreateParam(ftDateTime,'s9',ptinput);
query1.Params[9].Value:=Date();
end
else if RadioButton2.Checked then
begin
query1.sql.add('update result set name=:s0,coursetype=:S1,grade=:S2,value=:S3,note=:S4,opera=:s5,stamp=:s6 where number=:s7 and coursename=:s8');
query1.Params.Clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=Edit2.text;
query1.Params.CreateParam(ftstring,'s1',ptinput);
query1.Params[1].Value:=Combobox2.text;
query1.Params.CreateParam(ftstring,'s2',ptinput);
query1.Params[2].Value:=Edit6.text;
query1.Params.CreateParam(ftFloat,'s3',ptinput);
query1.Params[3].Value:=StrToFloat(Edit5.text);
query1.Params.CreateParam(ftstring,'s4',ptinput);
query1.Params[4].Value:=Edit7.text;
query1.Params.CreateParam(ftstring,'s5',ptinput);
query1.Params[5].Value:=username;
query1.Params.CreateParam(ftDateTime,'s6',ptinput);
query1.Params[6].Value:=Date();
query1.Params.CreateParam(ftstring,'s7',ptinput);
query1.Params[7].Value:=Edit1.text;
query1.Params.CreateParam(ftstring,'s8',ptinput);
query1.Params[8].Value:=combobox1.text;
end
else
begin
query1.sql.add('delete from result where number=:s0 and coursename=:s1');
query1.Params.clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=Edit1.text;
query1.Params.CreateParam(ftstring,'s1',ptinput);
query1.Params[1].Value:=ComboBox1.text;
end;
query1.Prepare;
query1.ExecSQL;
end;
query1.close;
initiate;
edit1.SetFocus;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -