📄 u_yonghu.pas
字号:
unit U_YongHu;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls, ToolWin, ComCtrls, Buttons,
Mask, DBCtrls, DB, ADODB, DBGridEh;
type
Tf_yonghu = class(TForm)
Panel2: TPanel;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
btn_add: TBitBtn;
btn_modify: TBitBtn;
btn_del: TBitBtn;
btn_save: TBitBtn;
btn_cancel: TBitBtn;
DataSource1: TDataSource;
edt_id: TEdit;
edt_Name: TEdit;
edt_age: TEdit;
Edt_edu: TEdit;
Edt_Address: TEdit;
Edt_Phone: TEdit;
Edt_Mobilephone: TEdit;
Edt_Email: TEdit;
ADOQuery1: TADOQuery;
Com_gender: TComboBox;
Edit1: TEdit;
Label3: TLabel;
Label11: TLabel;
Edit2: TEdit;
Btn_QuanXian: TBitBtn;
DBGrid1: TDBGrid;
Label12: TLabel;
Com_Type: TComboBox;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure btn_addClick(Sender: TObject);
procedure btn_saveClick(Sender: TObject);
procedure btn_QuanXianClick(Sender: TObject);
procedure btn_modifyClick(Sender: TObject);
procedure DataSource1DataChange(Sender: TObject; Field: TField);
procedure btn_delClick(Sender: TObject);
procedure btn_cancelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
iChoose :Integer; //选择操作,1:增加,2:修改
public
{ Public declarations }
end;
var
f_yonghu: Tf_yonghu;
implementation
uses
DataModule,unit_QuanXian,DataAccessCommonShell,unit_public,SystemObject;
{$R *.dfm}
procedure Tf_yonghu.FormClose(Sender: TObject; var Action: TCloseAction);
begin
action:=cafree;
end;
procedure Tf_yonghu.FormDestroy(Sender: TObject);
begin
f_yonghu:=nil;
end;
procedure Tf_yonghu.btn_addClick(Sender: TObject);
begin
btn_modify.Enabled:=false;
btn_Del.Enabled:=false;
btn_Save.Enabled:=true;
Ichoose:=1;
edt_id.Enabled:=true;
btn_save.Enabled :=true;
end;
procedure Tf_yonghu.btn_saveClick(Sender: TObject);
var
Adoquery:tadoquery;
ssql :string;
begin
btn_Add.Enabled:=true;
btn_modify.Enabled:=true;
btn_Del.Enabled:=true;
btn_save.enabled:=false;
if com_type.ItemIndex<0 then
begin
showmessage('请选择用户类型');
exit;
end;
//if application.MessageBox('确认名字在列表中唯一','请确认',mb_yesno)<>mryes then exit;
if trim(edit1.text)<>trim(edit2.text) then
begin
Application.MessageBox('两次输入的密码不相同!','提示',MB_OK + MB_ICONINFORMATION);
exit;
end;
if Ichoose=1 then
begin
adoquery:=tadoquery.Create(nil);
try
adoquery.Close;
adoquery.connection:=datamodule1.ADOMainConn;
adoquery.sql.Clear;
adoquery.SQL.Add('select * from bid_user where Login_name='''+trim(edt_id.Text)+'''');
adoquery.open;
if adoquery.RecordCount>0 then
begin
Application.MessageBox('该编号已存在!','提示',MB_OK + MB_ICONINFORMATION);
exit;
end;
finally
freeandnil(adoquery);
end;
ssql :='insert into bid_user(Login_name ,user_name,password,gender,'
+' age ,education,address,phone,mobilephone ,e_mail,user_type) '
+' values('''+trim(EDT_ID.text)+''','''+trim(edt_Name.text)+''','''
+trim(edit1.Text)+''','''+trim(Com_gender.text)
+''','''+trim(edt_age.text)+''','''+trim(edt_edu.text)+''','''+trim(edt_address.text)
+''','''+trim(edt_phone.text)+''','''+trim(edt_mobilephone.text)+''','''+trim(edt_email.text)
+''','+inttostr(com_type.ItemIndex)+')'
+';' //同时给该用户主系统菜单的访问
+'insert into bid_userrole select a.user_id,b.menu_id from bid_user a,bid_menu b '
+' where a.login_name='''+trim(edt_id.Text)+''' and b.layer=0';
end;
if Ichoose=2 then
begin
SSQL :='update bid_user set user_name='''+trim(edt_Name.text)
+''',gender='''+trim(Com_gender.text)+''',age='''+trim(edt_age.text)+''',';
if edt_id.text=userInfor.user_id then
ssql:=ssql+' password='''+trim(edit1.Text)+''',';
ssql:=ssql+'education='''+trim(edt_edu.text)
+''',address='''+trim(edt_address.text)+''',phone='''+trim(edt_phone.text)+''',mobilephone='''
+ trim(edt_mobilephone.text)+''',e_mail='''+trim(edt_email.text)+''',user_type='
+inttostr(com_type.ItemIndex)+' where Login_name='''
+trim(edt_id.text)+'''';
end;
if DelAddInS(ssql) then
begin
edt_id.Enabled:=false;
adoquery1.Close;
adoquery1.Open;
end;
end;
procedure Tf_yonghu.btn_modifyClick(Sender: TObject);
begin
btn_Add.Enabled:=false;
btn_Del.Enabled:=false;
btn_Save.Enabled:=true;
Ichoose:=2;
btn_save.Enabled:=true;
end;
procedure Tf_yonghu.DataSource1DataChange(Sender: TObject; Field: TField);
begin
edt_id.Text :=adoquery1.fieldbyname('用户编号').asstring;
edt_name.Text:=adoquery1.fieldbyname('用户姓名').asstring;
edt_age.Text :=adoquery1.fieldbyname('年龄').asstring;
edit1.Text:='';
edit2.Text:='';
com_type.ItemIndex:=adoquery1.fieldbyname('user_type').AsInteger;
com_gender.Text:=adoquery1.fieldbyname('性别').AsString;
edt_edu.Text :=adoquery1.fieldbyname('学历').asstring;
edt_address.Text:=adoquery1.fieldbyname('地址').asstring;
edt_phone.Text:=adoquery1.fieldbyname('电话').asstring;
edt_mobilephone.Text:=adoquery1.fieldbyname('移动电话').AsString;
edt_email.Text:=adoquery1.fieldbyname('电子邮件').AsString;
end;
procedure Tf_yonghu.btn_delClick(Sender: TObject);
var
ssql :string;
begin
if trim(edt_id.Text)='admin' then
begin
showmessage('该用户不允许删除');
exit;
end;
if trim(edt_id.Text)=userInfor.user_id then
begin
showmessage('登陆不允许删除');
exit;
end;
if trim(edt_id.Text)='' then exit;
ssql :='delete from bid_userrole where user_id in (select user_id from bid_user where '
+' login_name='''+trim(edt_id.Text)+''') ;'
+'delete from bid_user where Login_name='''+trim(edt_id.text)+'''';
if DelAddInS(ssql) then
begin
adoquery1.Close;
adoquery1.Open;
end;
end;
procedure Tf_yonghu.btn_cancelClick(Sender: TObject);
begin
btn_Add.Enabled:=true;
btn_modify.Enabled:=true;
btn_Del.Enabled:=true;
btn_Save.Enabled:=FALSE;
Ichoose:=0;
end;
procedure Tf_yonghu.btn_QuanXianClick(Sender: TObject);
begin
frm_QuanXian:=tfrm_quanxian.Create(nil);
try
frm_quanxian.suserid:=edt_id.text;
frm_quanxian.ShowModal;
finally
freeandnil(frm_quanxian);
end;
end;
procedure Tf_yonghu.FormCreate(Sender: TObject);
var
adoquery:Tadoquery;
begin
if userInfor.user_type<>0 then
begin
label12.Visible:=False;
com_type.Visible:=False;
end;
adoquery1.Active:=true;
adoquery:=tadoquery.Create(application);
try
finally
freeandnil(adoquery);
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -