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

📄 scoreseek.~pas

📁 学生档案管理系统
💻 ~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 + -