📄 scoreseek.~pas
字号:
unit scoreseek;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, Buttons, Mask, DB, DBTables;
type
TScoreSeekForm = class(TForm)
GroupBox1: TGroupBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
GroupBox2: TGroupBox;
Label1: TLabel;
Edit1: TEdit;
BitBtn1: TBitBtn;
DBGrid1: TDBGrid;
BitBtn2: TBitBtn;
Database1: TDatabase;
Query1: TQuery;
DataSource1: TDataSource;
ComboBox1: TComboBox;
GroupBox3: TGroupBox;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
Edit3: TEdit;
Label4: TLabel;
Edit4: TEdit;
Label5: TLabel;
Edit5: TEdit;
Label6: TLabel;
Edit6: TEdit;
Query1number: TStringField;
Query1name: TStringField;
Query1speciality: TStringField;
Query1coursename: TStringField;
Query1coursetype: TStringField;
Query1grade: TStringField;
Query1value: TFloatField;
Query1note: TStringField;
Query1opera: TStringField;
Query1stamp: TDateTimeField;
procedure BitBtn2Click(Sender: TObject);
procedure Database1Login(Database: TDatabase; LoginParams: TStrings);
procedure FormActivate(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure RadioButton3Click(Sender: TObject);
procedure RadioButton4Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
ScoreSeekForm: TScoreSeekForm;
implementation
{$R *.dfm}
procedure TScoreSeekForm.BitBtn2Click(Sender: TObject);
begin
Close;
end;
procedure TScoreSeekForm.Database1Login(Database: TDatabase;
LoginParams: TStrings);
begin
loginparams.Clear;
loginparams.add('user_name=administator');
loginparams.add('password=650124');
end;
procedure TScoreSeekForm.FormActivate(Sender: TObject);
var
query2:TQuery;
begin
DBGrid1.DataSource:=Datasource1;
Datasource1.DataSet:=query1;
query1.DatabaseName:='student';
DBGrid1.ReadOnly:=true;
query1.Close;
query1.SQL.clear;
query1.sql.add('select * from result');
query1.Params.Clear;
query1.Open;
RadioButton1.Checked:=true;
Query1Number.DisplayLabel:='学号';
Query1Name.DisplayLabel:='学生姓名';
Query1Speciality.DisplayLabel:='所学专业';
Query1CourseName.DisplayLabel:='课程名称';
Query1Coursetype.DisplayLabel:='课程类别';
Query1Grade.DisplayLabel:='成绩';
Query1Value.DisplayLabel:='学分';
Query1Note.DisplayLabel:='备注';
Query1Opera.DisplayLabel:='操作人';
Query1Stamp.DisplayLabel:='最后修改时间';
query2:=TQuery.Create(self);
query2.DatabaseName:='student';
query2.Close;
query2.SQL.Clear;
query2.SQL.add('select * from speciality');
query2.Params.clear;
query2.open;
combobox1.text;
combobox1.Items.Clear;
while not query2.eof do
begin
combobox1.Items.Add(Query2.fieldbyname('name').asstring);
query2.Next;
end;
query2.close;
end;
procedure TScoreSeekForm.RadioButton1Click(Sender: TObject);
begin
Label1.Caption:='请输入要查询的学号';
Combobox1.Visible:=false;
Edit1.Visible:=true;
Edit1.text:='';
end;
procedure TScoreSeekForm.RadioButton2Click(Sender: TObject);
begin
Label1.Caption:='请输入要查询的姓名';
Combobox1.Visible:=false;
Edit1.Visible:=true;
Edit1.text:='';
end;
procedure TScoreSeekForm.RadioButton3Click(Sender: TObject);
begin
Label1.Caption:='请选取要查询的专业';
combobox1.text:='';
Combobox1.Visible:=true;
Edit1.Visible:=false;
end;
procedure TScoreSeekForm.RadioButton4Click(Sender: TObject);
begin
Label1.Caption:='请输入要查询的课程名';
Combobox1.Visible:=false;
Edit1.Visible:=true;
Edit1.text:='';
end;
procedure TScoreSeekForm.BitBtn1Click(Sender: TObject);
var
s1,s2,s3:Real;
query2:TQuery;
begin
query1.close;
query1.SQL.Clear;
edit2.text:='';
edit3.text:='';
edit4.text:='';
if RadioButton1.checked and (Edit1.text<>'') then
begin
query1.SQL.add('select * from result where number=:s0');
query1.Params.Clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=Edit1.text;
end
else if RadioButton2.Checked and (Edit1.text<>'') then
begin
query1.SQL.add('select * from result where name=:s0');
query1.Params.Clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=Edit1.text;
end
else if RadioButton3.Checked and (ComboBox1.text<>'') then
begin
query1.SQL.add('select * from result where speciality=:s0');
query1.Params.Clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=ComboBox1.text;
end
else if RadioButton4.Checked and (Edit1.text<>'') then
begin
query1.SQL.add('select * from result where coursename=:s0');
query1.Params.Clear;
query1.Params.CreateParam(ftstring,'s0',ptinput);
query1.Params[0].Value:=Edit1.text;
end
else
begin
query1.SQL.add('select * from result');
query1.Params.Clear;
end;
Query1.Open;
if RadioButton1.checked and (Edit1.text<>'') then
begin
Query2:=TQuery.Create(self);
Query2.DatabaseName:='student';
Query2.Close;
Query2.sql.clear;
Query2.SQL.add('select * from speciality where name=:s0');
Query2.Params.Clear;
Query2.Params.CreateParam(ftstring,'s0',ptinput);
query2.Params[0].Value:=Query1.fieldByname('speciality').asstring;
query2.open;
edit6.text:=IntToStr(Query2.fieldByname('score').asinteger);
query2.close;
query2.SQL.clear;
query2.SQL.add('select * from result where number=:s0');
query2.Params.clear;
query2.Params.CreateParam(ftstring,'s0',ptinput);
query2.Params[0].Value:=Edit1.text;
query2.Open;
s1:=0;
s2:=0;
s3:=0;
while not Query2.Eof do
begin
if query2.fieldbyname('coursetype').asstring='必修' then
s1:=s1+Query2.fieldByname('value').AsFloat
else if query2.fieldbyname('coursetype').asstring='选修' then
s2:=s2+Query2.fieldByname('value').AsFloat
else
s3:=s3+Query2.fieldByname('value').AsFloat;
Query2.next;
end;
query2.close;
edit2.text:=FloatToStr(s1);
edit3.text:=FloatToStr(s2);
edit4.text:=FloatToStr(s3);
Edit4.text:=FloatToStr(s1+s2+s3);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -