unituserset.pas

来自「一套宾馆管理系统」· PAS 代码 · 共 192 行

PAS
192
字号
unit UnitUserSet;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, ComCtrls, ToolWin, StdCtrls, ADODB, DB, Grids,
  DBGrids;

type
  TfrmUserSet = class(TForm)
    CoolBar1: TCoolBar;
    ToolBar1: TToolBar;
    tbnAdd: TToolButton;
    tbnDelete: TToolButton;
    tbnEdit: TToolButton;
    tbnRole: TToolButton;
    StatusBar1: TStatusBar;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    DBGrid1: TDBGrid;
    DataSource: TDataSource;
    ADOQuery: TADOQuery;
    ADOcmd: TADOCommand;
    tbnExit: TToolButton;
    procedure tbnExitClick(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure tbnAddClick(Sender: TObject);
    procedure tbnDeleteClick(Sender: TObject);
    procedure tbnEditClick(Sender: TObject);
    procedure tbnRoleClick(Sender: TObject);
  private
    strCon:string;
    procedure AddNewuser(user:string;password:string;memo:string);
    procedure DeleteUser(id:string);
    procedure UpdateUser(id:string;user:string;password:string;memo:string);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmUserSet: TfrmUserSet;

implementation

uses UnitMain, UnitUserAdd, UnitRoleSet;

{$R *.dfm}
procedure TfrmUserSet.UpdateUser(id:string;user:string;password:string;memo:string);
 var
  Smt:string;
begin
  Smt:='update userlist set username='''+user+''',secret='''+password+''',memo='''+memo+''' where userid='+id ;
  adocmd.CommandText:=Smt;
  adocmd.CommandType:=cmdText;
  adocmd.ConnectionString:=strCon;
  adocmd.Execute;
  adoquery.Requery(); 
end;
procedure TfrmUserSet.DeleteUser(id:string);
var
 Smt:string;
begin
 smt:='delete from userlist where userid='+id ;
 adocmd.ConnectionString:=strCon;
 adocmd.CommandText:=Smt;
 adocmd.CommandType:=cmdText;
 adocmd.Execute;
 adoquery.Requery(); 
end;

procedure TfrmUserSet.AddNewuser(user:string;password:string;memo:string);
var
 Smt:string;
begin
 Smt:='insert into userlist(username,secret,memo) values('''+user+''','''+password+''','''+memo+''')';
 adocmd.CommandText:=Smt;
 adocmd.CommandType:=cmdText;
 adocmd.ConnectionString:=strCon;
 adocmd.Execute;
 adoquery.Requery(); 
end;
procedure TfrmUserSet.tbnExitClick(Sender: TObject);
begin
frmUserSet.Close;
end;

procedure TfrmUserSet.FormCreate(Sender: TObject);
begin
 frmMain.ReadINI;
 strCon:=frmMain.strCon;
end;

procedure TfrmUserSet.FormShow(Sender: TObject);
var
 Smt:string;
 xx:TColumn;
begin
 Smt:='select * from UserList  order by userid';
 adoquery.Close;
 adoquery.SQL.Clear;
 adoquery.SQL.Add(Smt);
 adoquery.ConnectionString:=strCon;
 adoquery.Open;
 //-----init grid
 xx:=dbgrid1.Columns.Add;
 xx.Title.Caption:='用户名';
 xx.FieldName:=adoquery.Fields[1].DisplayName;
 xx.Width:=100;
 //-------
 xx:=dbgrid1.Columns.add;
 xx.Title.Caption:='密码';
 xx.FieldName:=adoquery.Fields[2].DisplayName;
 xx.Width:=150;
 //-------
 xx:=dbgrid1.Columns.add;
 xx.Title.Caption:='备注';
 xx.FieldName:=adoquery.Fields[3].DisplayName;
 xx.Width:=150;
 //--------
 datasource.DataSet:=adoquery;
 dbgrid1.DataSource:=datasource;
end;

procedure TfrmUserSet.tbnAddClick(Sender: TObject);
begin
 application.CreateForm(TfrmUserAdd,frmUserAdd);
 frmUserAdd.ShowModal;
 if frmUserAdd.ModalResult=mrok then
    begin
    if (frmUserAdd.edtUsername.text='') or (frmUserAdd.edtPassword.text='') then
        begin
        showmessage('用户名或密码不能为空');
        exit;
        end
    else
        begin
         frmUserSet.AddNewuser(frmUserAdd.edtUsername.text,frmUserAdd.edtPassword.text,frmUserAdd.edtMemo.text)
        end;
    end ;

 if frmUserAdd.ModalResult=mrcancel then
    showmessage('delete new user');
end;

procedure TfrmUserSet.tbnDeleteClick(Sender: TObject);
//var
// i:integer;
begin
 if adoquery.RecNo<>0 then
    begin
     showmessage('确实要删除用户'+adoquery.Fields[1].value+'吗?');
     frmUserSet.DeleteUser(adoquery.Fields[0].AsString);
    end;
end;

procedure TfrmUserSet.tbnEditClick(Sender: TObject);
 var
  id:string;
begin
  id:=adoquery.Fields[0].AsString;
  application.CreateForm(TfrmUserAdd,frmUserAdd);
  frmUserAdd.edtUsername.text:=adoquery.fields[1].asstring;
  frmUserAdd.edtPassword.text:=adoquery.fields[2].asstring;
  frmUserAdd.edtMemo.text:=adoquery.fields[3].asstring;
  frmUserAdd.ShowModal;
  if frmUserAdd.ModalResult=mrok then
     begin
      if (frmUserAdd.edtUsername.Text='') or (frmUserAdd.edtPassword.text='') then
         begin
          showmessage('用户名和密码不能为空');
          exit;
         end
      else
         frmUserSet.UpdateUser(id,frmUserAdd.edtUsername.Text,frmUserAdd.edtPassword.Text,frmUserAdd.edtmemo.text);
     end;
  if frmuserAdd.ModalResult=mrcancel then
     begin
     end;
end;

procedure TfrmUserSet.tbnRoleClick(Sender: TObject);
begin
 application.CreateForm(TfrmRoleSet,FrmRoleSet);
 frmRoleset.edtuserName.text:=adoquery.fields[1].asstring;
 frmRoleSet.Show;
end;

end.

⌨️ 快捷键说明

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