📄 uuser.pas
字号:
unit uuser;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, Buttons, ExtCtrls, DB, DBTables;
type
TFuser = class(TForm)
Panel1: TPanel;
Label4: TLabel;
Label3: TLabel;
Label2: TLabel;
Label1: TLabel;
GroupBox1: TGroupBox;
addBitBtn: TBitBtn;
delBitBtn: TBitBtn;
modBitBtn: TBitBtn;
savBitBtn: TBitBtn;
canBitBtn: TBitBtn;
exiBitBtn: TBitBtn;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
userDBGrid: TDBGrid;
userTable: TTable;
userDataSource: TDataSource;
addQuery: TQuery;
delQuery: TQuery;
modQuery: TQuery;
useraddQuery: TQuery;
usermodQuery: TQuery;
procedure FormCreate(Sender: TObject);
procedure addBitBtnClick(Sender: TObject);
procedure delBitBtnClick(Sender: TObject);
procedure modBitBtnClick(Sender: TObject);
procedure savBitBtnClick(Sender: TObject);
procedure canBitBtnClick(Sender: TObject);
procedure exiBitBtnClick(Sender: TObject);
procedure userTableAfterScroll(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Fuser: TFuser;
newormod: string;
usercode: integer;
implementation
uses unitdatamodul,global;
{$R *.dfm}
procedure TFuser.FormCreate(Sender: TObject);
begin
edit1.Enabled :=false;
edit2.Enabled :=false;
edit3.Enabled :=false;
edit4.Enabled :=false;
usertable.Close;
usertable.Filter :='unit_id='+inttostr(global.g_user.UnitID);
usertable.Filtered :=true;
usertable.Open;
end;
procedure TFuser.addBitBtnClick(Sender: TObject);
begin
newormod:='insert';
edit1.Enabled :=true;
edit2.Enabled :=true;
edit3.Enabled :=true;
edit4.Enabled :=true;
edit1.Text :='';
edit2.Text :='';
edit3.Text :='';
edit4.Text :='';
edit1.SetFocus ;
delbitbtn.Enabled :=false;
modbitbtn.Enabled :=false;
end;
procedure TFuser.delBitBtnClick(Sender: TObject);
begin
if usertable.IsEmpty then
begin
application.MessageBox('没有用户信息可供删除!','删除用户信息时出错',MB_OK+MB_ICONEXCLAMATION);
Exit;
end;
if MessageDlg('确实要删除这条用户信息?',mtInformation,[mbYes,mbNo],0)=mrYes then
begin
dtmdl.Database1.StartTransaction;
DelQuery.ParamByName('user_code').AsInteger :=usercode;
try
DelQuery.ExecSQL;
except
dtmdl.Database1.Rollback;
Application.MessageBox('删除用户信息出错!','系统错误',MB_OK+MB_ICONERROR);
Exit;
end;
dtmdl.Database1.Commit;
usertable.Close;
usertable.Open;
end;
end;
procedure TFuser.modBitBtnClick(Sender: TObject);
begin
newormod:='modify';
edit1.Enabled :=true;
edit2.Enabled :=true;
edit3.Enabled :=true;
edit4.Enabled :=true;
edit1.SetFocus ;
addbitbtn.Enabled :=false;
delbitbtn.Enabled :=false;
end;
procedure TFuser.savBitBtnClick(Sender: TObject);
begin
if edit1.Text ='' then
begin
showmessage('必须输入工号!');
edit1.SetFocus ;
exit;
end;
if edit2.Text ='' then
begin
showmessage('必须输入姓名!');
edit2.SetFocus ;
exit;
end;
if edit3.Text <>edit4.Text then
begin
showmessage('密码不一致!');
edit3.Text :='';
edit4.Text :='';
edit3.SetFocus ;
exit;
end;
if newormod='insert' then
begin
useraddquery.ParamByName('user_id').AsString :=edit1.Text ;
// useraddquery.ParamByName('unit_id').AsString :=global.g_user.UserID ;
useraddquery.Close;
useraddquery.Open;
if not useraddquery.IsEmpty then
begin
showmessage('已经有重复的工号,输入错误!');
edit1.Text :='';
edit1.SetFocus ;
exit;
end;
addquery.ParamByName('user_id').AsString :=edit1.Text ;
addquery.ParamByName('unit_id').AsInteger :=global.g_user.UnitID ; // ****************全局变量******************
addquery.ParamByName('name').AsString :=edit2.Text ;
addquery.ParamByName('password').AsString :=edit3.Text ;
try
addquery.ExecSQL ;
except
showmessage('添加用户时出错!');
exit;
end;
end;
if newormod='modify' then
begin
usermodquery.ParamByName('user_code').AsInteger :=usercode ;
usermodquery.ParamByName('user_id').AsString :=edit1.Text ;
// usermodquery.ParamByName('unit_id').AsInteger :=global.g_user.UnitID ;
usermodquery.Close;
usermodquery.Open;
if not usermodquery.IsEmpty then
begin
showmessage('已经有重复的工号,输入错误!');
edit1.SetFocus ;
exit;
end;
modquery.ParamByName('user_code').AsInteger :=usercode;
modquery.ParamByName('user_id').AsString :=edit1.Text ;
modquery.ParamByName('name').AsString :=edit2.Text ;
modquery.ParamByName('password').AsString :=edit3.Text ;
try
modquery.ExecSQL ;
except
showmessage('修改用户时出错!');
exit;
end;
end;
usertable.Close;
usertable.Open;
edit1.Enabled :=false;
edit2.Enabled :=false;
edit3.Enabled :=false;
edit4.Enabled :=false;
addbitbtn.Enabled :=true;
delbitbtn.Enabled :=true;
modbitbtn.Enabled :=true;
end;
procedure TFuser.canBitBtnClick(Sender: TObject);
begin
addbitbtn.Enabled :=true;
delbitbtn.Enabled :=true;
modbitbtn.Enabled :=true;
edit1.Enabled :=false;
edit2.Enabled :=false;
edit3.Enabled :=false;
edit4.Enabled :=false;
usertable.Close;
usertable.Open;
newormod:='';
end;
procedure TFuser.exiBitBtnClick(Sender: TObject);
begin
close;
end;
procedure TFuser.userTableAfterScroll(DataSet: TDataSet);
begin
usercode:=dataset.fieldbyname('user_code').AsInteger ;
edit1.Text :=dataset.fieldbyname('user_id').AsString ;
edit2.Text :=dataset.fieldbyname('name').AsString ;
edit3.Text :=dataset.fieldbyname('password').AsString;
edit4.Text :=edit3.Text ;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -