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 + -
显示快捷键?