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

📄 studentinfo.~pas

📁 学生成绩管理系统
💻 ~PAS
字号:
unit studentinfo;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Mask, Buttons, DB, DBTables;

type
  TStudentInfoForm = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    Label4: TLabel;
    Edit4: TEdit;
    Label5: TLabel;
    Edit5: TEdit;
    Label6: TLabel;
    Edit6: TEdit;
    Label7: TLabel;
    ComboBox1: TComboBox;
    Label8: TLabel;
    MaskEdit1: TMaskEdit;
    Label9: TLabel;
    Edit7: TEdit;
    Label10: TLabel;
    Edit8: TEdit;
    Label11: TLabel;
    ComboBox2: TComboBox;
    Label12: TLabel;
    Label13: TLabel;
    MaskEdit2: TMaskEdit;
    Label14: TLabel;
    Edit9: TEdit;
    Label15: TLabel;
    Edit10: TEdit;
    Label16: TLabel;
    Edit11: TEdit;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Database1: TDatabase;
    Edit12: TEdit;
    procedure BitBtn2Click(Sender: TObject);
    procedure Database1Login(Database: TDatabase; LoginParams: TStrings);
    procedure FormActivate(Sender: TObject);
    procedure Edit1Exit(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure initiate;
  end;

var
  StudentInfoForm: TStudentInfoForm;

implementation
  uses main;
{$R *.dfm}

procedure TStudentInfoForm.BitBtn2Click(Sender: TObject);
begin
    database1.Close;
    Close;
end;

procedure TStudentInfoForm.Database1Login(Database: TDatabase;
  LoginParams: TStrings);
begin
    loginparams.Clear;
    loginparams.add('user_name=administator');
    loginparams.Add('password=650124');
end;
procedure TStudentInfoForm.initiate;
begin
    Edit1.Text:='';
    Edit2.Text:='';
    Edit7.Text:='';
    Edit8.Text:='0';
    Edit9.Text:='';
    Edit10.Text:='';
    Edit11.Text:='';
    edit12.text:='';
    maskedit1.text:='';
    maskedit2.text:='';
    Combobox1.text:='';
    Combobox2.text:='';
    Edit3.Text:='';
    Edit4.Text:='';
    Edit5.Text:='';
    Edit6.Text:='';
end;
procedure TStudentInfoForm.FormActivate(Sender: TObject);
var
    query1:TQuery;
begin
    initiate;
    edit1.setfocus;
    query1:=TQuery.Create(self);
    query1.DatabaseName:='student';
    query1.close;
    query1.SQL.clear;
    query1.sql.add('select * from speciality');
    query1.Params.Clear;
    query1.Open;
    combobox2.Items.Clear;
    while not query1.Eof do
    begin
        combobox2.Items.add(query1.fieldbyname('name').asstring);
        query1.Next;
    end;
    query1.close;
    radiobutton1.Checked:=true;
end;

procedure TStudentInfoForm.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 (not query1.IsEmpty) and (not radiobutton2.Checked) then
        begin
            Edit2.text:=query1.fieldByname('name').asstring;
            ComboBox1.text:=query1.fieldByname('sex').asstring;
            maskedit1.text:=DateToStr(query1.fieldByname('birthday').asDatetime);
            Edit7.text:=query1.fieldByname('id').asstring;
            Edit8.text:=IntToStr(query1.fieldByname('score').asInteger);
            ComboBox2.text:=query1.fieldByname('speciality').asstring;
            Edit9.text:=query1.fieldByname('class').asstring;
            Maskedit2.text:=DateToStr(query1.fieldByname('registerdate').asDatetime);
            Edit10.text:=query1.fieldByname('dorm').asstring;
            Edit11.text:=query1.fieldByname('dorm_phone').asstring;
            Edit12.text:=query1.fieldByname('note').asstring;
            Edit3.text:=query1.fieldByname('parents').asstring;
            Edit4.text:=query1.fieldByname('address').asstring;
            Edit5.text:=query1.fieldByname('postcode').asstring;
            Edit6.text:=query1.fieldByname('phone').asstring;
        end
        else if (not query1.IsEmpty) and radiobutton2.Checked then
        begin
            Application.MessageBox('学号重复,无法增加,请检查!','提示信息',mb_ok);
            Edit1.setfocus;
        end
        else if query1.IsEmpty and (not radiobutton2.checked) then
        begin
            Application.MessageBox('您输入的学号错误,请检查!','提示信息',mb_ok);
            Edit1.setfocus;
        end
        else
            Edit2.setfocus;
    end;
end;

procedure TStudentInfoForm.BitBtn1Click(Sender: TObject);
var
    Query1:TQuery;
begin
    query1:=TQuery.Create(self);
    query1.DatabaseName:='student';
    query1.close;
    query1.sql.Clear;
    if radiobutton1.Checked then
    begin
        query1.SQL.Add('update student set name=:s0,address=:s1,postcode=:s2,phone=:s3,parents=:s4,sex=:s5,birthday=:s6,id=:s7,score=:s8,speciality=:s9,class=:s10,registerdate=:s11, dorm=:s12, dorm_phone=:s13,note=:s14,opera=:s15,stamp=:s16 where number=:s17');
        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:=edit4.text;
        query1.Params.CreateParam(ftstring,'s2',ptinput);
        query1.Params[2].Value:=edit5.text;
        query1.Params.CreateParam(ftstring,'s3',ptinput);
        query1.Params[3].Value:=edit6.text;
        query1.Params.CreateParam(ftstring,'s4',ptinput);
        query1.Params[4].Value:=edit3.text;
        query1.Params.CreateParam(ftstring,'s5',ptinput);
        query1.Params[5].Value:=combobox1.text;
        query1.Params.CreateParam(ftDatetime,'s6',ptinput);
        query1.Params[6].Value:=StrToDate(maskedit1.text);
        query1.Params.CreateParam(ftstring,'s7',ptinput);
        query1.Params[7].Value:=edit7.text;
        query1.Params.CreateParam(ftinteger,'s8',ptinput);
        query1.Params[8].Value:=StrToInt(edit8.text);
        query1.Params.CreateParam(ftstring,'s9',ptinput);
        query1.Params[9].Value:=Combobox2.text;
        query1.Params.CreateParam(ftstring,'s10',ptinput);
        query1.Params[10].Value:=edit9.text;
        query1.Params.CreateParam(ftdatetime,'s11',ptinput);
        query1.Params[11].Value:=StrToDate(maskedit2.text);
        query1.Params.CreateParam(ftstring,'s12',ptinput);
        query1.Params[12].Value:=edit10.text;
        query1.Params.CreateParam(ftstring,'s13',ptinput);
        query1.Params[13].Value:=edit11.text;
        query1.Params.CreateParam(ftstring,'s14',ptinput);
        query1.Params[14].Value:=edit12.text;
        query1.Params.CreateParam(ftstring,'s15',ptinput);
        query1.Params[15].Value:=username;
        query1.Params.CreateParam(ftdatetime,'s16',ptinput);
        query1.Params[16].Value:=date();
        query1.Params.CreateParam(ftstring,'s17',ptinput);
        query1.Params[17].Value:=edit1.text;
    end
    else if radiobutton2.Checked then
    begin
        query1.SQL.add('insert into student values(:s0,:s1,:s2,:s3,:s4,:s5,:s6,:s7,:s8,:s9,:s10,:s11,:s12,:s13,:s14,:s15,:s16,:s17)');
        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:=edit4.text;
        query1.Params.CreateParam(ftstring,'s3',ptinput);
        query1.Params[3].Value:=edit5.text;
        query1.Params.CreateParam(ftstring,'s4',ptinput);
        query1.Params[4].Value:=edit6.text;
        query1.Params.CreateParam(ftstring,'s5',ptinput);
        query1.Params[5].Value:=edit3.text;
        query1.Params.CreateParam(ftstring,'s6',ptinput);
        query1.Params[6].Value:=combobox1.text;
        query1.Params.CreateParam(ftDatetime,'s7',ptinput);
        query1.Params[7].Value:=StrToDate(maskedit1.text);
        query1.Params.CreateParam(ftstring,'s8',ptinput);
        query1.Params[8].Value:=edit7.text;
        query1.Params.CreateParam(ftinteger,'s9',ptinput);
        query1.Params[9].Value:=StrToInt(edit8.text);
        query1.Params.CreateParam(ftstring,'s10',ptinput);
        query1.Params[10].Value:=Combobox2.text;
        query1.Params.CreateParam(ftstring,'s11',ptinput);
        query1.Params[11].Value:=edit9.text;
        query1.Params.CreateParam(ftdatetime,'s12',ptinput);
        query1.Params[12].Value:=StrToDate(maskedit2.text);
        query1.Params.CreateParam(ftstring,'s13',ptinput);
        query1.Params[13].Value:=edit10.text;
        query1.Params.CreateParam(ftstring,'s14',ptinput);
        query1.Params[14].Value:=edit11.text;
        query1.Params.CreateParam(ftstring,'s15',ptinput);
        query1.Params[15].Value:=edit12.text;
        query1.Params.CreateParam(ftstring,'s16',ptinput);
        query1.Params[16].Value:=username;
        query1.Params.CreateParam(ftdatetime,'s17',ptinput);
        query1.Params[17].Value:=date();
    end
    else
    begin
        query1.sql.add('delete from student where number=:s0');
        query1.Params.clear;
        query1.Params.CreateParam(ftstring,'s0',ptinput);
        query1.Params[0].Value:=edit1.text;
    end;
    query1.Prepare;
    query1.ExecSQL;
    initiate;
    edit1.SetFocus;
    query1.Close;
end;

procedure TStudentInfoForm.RadioButton2Click(Sender: TObject);
begin
    Edit1.SetFocus;
    initiate;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -