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

📄 score.pas

📁 学生成绩管理系统
💻 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 + -