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

📄 userlist.~pas

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

interface

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

type
  TUserListForm = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Label3: TLabel;
    Edit3: TEdit;
    GroupBox2: TGroupBox;
    CheckBox1: TCheckBox;
    CheckBox2: TCheckBox;
    CheckBox3: TCheckBox;
    GroupBox3: TGroupBox;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    DBGrid1: TDBGrid;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    Database1: TDatabase;
    Query1: TQuery;
    DataSource1: TDataSource;
    Query1username: TStringField;
    Query1password: TStringField;
    Query1units: TStringField;
    Query1right_1: TBooleanField;
    Query1right_2: TBooleanField;
    Query1right_3: TBooleanField;
    Query1opera: TStringField;
    Query1stamp: TDateTimeField;
    procedure BitBtn2Click(Sender: TObject);
    procedure Database1Login(Database: TDatabase; LoginParams: TStrings);
    procedure FormActivate(Sender: TObject);
    procedure Query1AfterScroll(DataSet: TDataSet);
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    procedure initiate;
    procedure LoadFromTable;
  end;

var
  UserListForm: TUserListForm;

implementation
  uses main;
{$R *.dfm}

procedure TUserListForm.BitBtn2Click(Sender: TObject);
begin
    Query1.Close;
    Database1.Connected:=false;
    close;
end;
procedure TUserListForm.initiate;
begin
    Edit1.text:='';
    Edit2.Text:='';
    Edit3.Text:='';
    CheckBox1.Checked:=false;
    CheckBox2.Checked:=false;
    CheckBox3.Checked:=false;
end;

procedure TUserListForm.Database1Login(Database: TDatabase;
  LoginParams: TStrings);
begin
    loginparams.Clear;
    loginparams.add('user_name=administator');
    loginparams.add('password=650124');  
end;

procedure TUserListForm.FormActivate(Sender: TObject);
begin
    dbgrid1.DataSource:=datasource1;
    dbgrid1.ReadOnly:=true;
    datasource1.DataSet:=query1;
    query1.DatabaseName:='student';
    query1.close;
    query1.SQL.clear;
    query1.SQL.Add('select * from operator');
    database1.Connected:=true;
    query1.open;
    initiate;
    if not query1.IsEmpty then
    begin
        LoadFromTable;
        RadioButton3.Checked:=true;
    end
    else
    begin
        RadioButton1.Checked:=true;
        RadioButton2.Enabled:=false;
        RadioButton3.Enabled:=false;
    end;
    Query1Username.DisplayLabel:='用户名';
    Query1Password.DisplayLabel:='密码';
    Query1Units.DisplayLabel:='所在单位';
    Query1Right_1.DisplayLabel:='管理权';
    Query1Right_2.DisplayLabel:='操作权';
    Query1Right_3.DisplayLabel:='查询权';
    Query1Opera.DisplayLabel:='操作员';
    Query1Stamp.DisplayLabel:='最后修改时间';            
end;
procedure TUserListForm.LoadFromTable;
begin
    Edit1.text:=Query1.FieldByName('username').AsString;
    Edit2.text:=Query1.FieldByName('password').AsString;
    Edit3.text:=Query1.FieldByName('units').AsString;
    CheckBox1.Checked:=Query1.FieldByName('Right_1').AsBoolean;
    CheckBox2.Checked:=Query1.FieldByName('Right_2').AsBoolean;
    CheckBox3.Checked:=Query1.FieldByName('Right_3').AsBoolean;
end;
procedure TUserListForm.Query1AfterScroll(DataSet: TDataSet);
begin
    LoadFromTable;
end;

procedure TUserListForm.RadioButton1Click(Sender: TObject);
begin
      initiate;
      edit1.Enabled:=true;
      edit1.SetFocus;
end;

procedure TUserListForm.RadioButton2Click(Sender: TObject);
begin
    LoadFromTable;
    edit1.enabled:=false;
end;

procedure TUserListForm.BitBtn1Click(Sender: TObject);
begin
    query1.close;
    if radioButton1.Checked then
    begin
        query1.SQL.clear;
        query1.sql.Add('insert into operator values(:s0,:s1,:s2,:s3,:s4,:s5,:s6,:s7)');
        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(ftboolean,'s3',ptinput);
        query1.Params[3].Value:=CheckBox1.checked;
        query1.Params.CreateParam(ftboolean,'s4',ptinput);
        query1.Params[4].Value:=CheckBox2.checked;
        query1.Params.CreateParam(ftboolean,'s5',ptinput);
        query1.Params[5].Value:=CheckBox3.checked;
        query1.Params.CreateParam(ftstring,'s6',ptinput);
        query1.Params[6].Value:=username;
        query1.Params.CreateParam(ftdatetime,'s7',ptinput);
        query1.Params[7].Value:=date();
    end
    else if RadioButton2.Checked then
    begin
        query1.SQL.clear;
        query1.sql.Add('delete from operator where username=:s0');
        query1.Params.clear;
        query1.Params.CreateParam(ftstring,'s0',ptinput);
        query1.Params[0].Value:=edit1.text;
    end
    else
    begin
        query1.SQL.clear;
        query1.SQL.Add('update operator set password=:s0,units=:s1,right_1=:s2,right_2=:s3,right_3=:s4,opera=:s5,stamp=:s6 where username=:s7');
        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:=edit3.text;
        query1.Params.CreateParam(ftboolean,'s2',ptinput);
        query1.Params[2].Value:=CheckBox1.checked;
        query1.Params.CreateParam(ftboolean,'s3',ptinput);
        query1.Params[3].Value:=CheckBox2.checked;
        query1.Params.CreateParam(ftboolean,'s4',ptinput);
        query1.Params[4].Value:=CheckBox3.checked;
        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;
    end;
    query1.Prepare;
    query1.ExecSQL;
    query1.close;
    query1.SQL.Clear;
    query1.sql.add('select * from operator');
    query1.Params.clear;
    query1.Open;
    if not query1.IsEmpty then
    begin
        Radiobutton1.Checked:=true;
        Radiobutton2.Enabled:=false;
        Radiobutton3.Enabled:=false;
    end
    else
    begin
        Radiobutton3.Checked:=true;
        Radiobutton2.Enabled:=true;
        Radiobutton3.Enabled:=true;
    end;
end;

end.

⌨️ 快捷键说明

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