📄 modiuser_3.pas
字号:
unit MODIUSER_3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, DB, DBTables, CheckLst;
type
Tmodiuser_Form = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
yhm_LEdit: TLabeledEdit;
mm_LEdit: TLabeledEdit;
SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton;
Query1: TQuery;
CheckListBox1: TCheckListBox;
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
modiuser_Form: Tmodiuser_Form;
implementation
uses usergl_3, ComCtrls, main3_1;
{$R *.dfm}
procedure Tmodiuser_Form.FormCreate(Sender: TObject);
var
yhm,cdbh,cdmc,sqlstr:string;
begin
Caption:=usergl_form.xx;
Query1.SessionName:=mainform.Database1.SessionName;
Query1.DatabaseName:=mainform.Database1.DatabaseName;
with tquery.Create(nil) do
begin
try
Close;
SessionName:=mainform.Database1.SessionName;
DatabaseName:=mainform.Database1.DatabaseName;
sqlstr:='select * from t_cdx order by 菜单项';
SQL.Clear;
SQL.Add(sqlstr);
Open;
First;
while not Eof do
begin
cdbh:=fieldbyname('菜单项').AsString;
cdmc:=fieldbyname('菜单名').AsString;
Checklistbox1.Items.Add(cdbh+'&'+cdmc);
if usergl_form.modi then
begin
yhm:=usergl_form.Query1.fieldbyname('用户名').AsString;
sqlstr:='select * from t_qxb where(用户名='''+yhm+''')and(菜单项='''+cdbh+''')';
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(sqlstr);
Query1.Open;
if query1.RecordCount > 0 then
Checklistbox1.Checked[Checklistbox1.Count-1]:=true;
end;
Next;
end;
finally
Free;
end;
end;
end;
procedure Tmodiuser_Form.SpeedButton1Click(Sender: TObject);
var
id,sqlstr1,sqlstr,cdbh,yhm,mm:string;
i:integer;
begin
if usergl_form.modi then
id:=usergl_form.Query1.fieldbyname('id').AsString;
yhm:=trim(yhm_ledit.Text);
if (length(yhm)<3) or (length(yhm)>20) then
begin
showmessage('用户名由3--20个字符组成!');
exit;
end;
mm:=trim(mm_ledit.Text);
if (length(mm)<3) or (length(mm)>20) then
begin
showmessage('密码由3--20个字符组成!');
exit;
end;
sqlstr1:='select * from t_user where (用户名='''+yhm+''') and (id<>'''+id+''')';
if usergl_form.modi then
sqlstr:='update t_user set 用户名='''+yhm+''',密码='''+mm+ ''' where (id='''+id+''')'
else
sqlstr:='insert into t_user(用户名,密码) values('''+yhm+''','''+mm+''')';
with tquery.Create(nil) do
begin
try
SessionName:=mainform.Database1.SessionName;
DatabaseName:=mainform.Database1.DatabaseName;
SQL.Clear;
SQL.Add(sqlstr1);
Open;
if recordcount > 0 then
begin
showmessage('该用户名已经存在,请改用其他用户名!!!');
exit;
end;
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
for i:=0 to checklistbox1.Count-1 do
begin
if usergl_form.modi then
begin
cdbh:=copy(checklistbox1.Items.Strings[i],0,3);
if checklistbox1.Checked[i] then
begin
sqlstr:='select * from t_qxb where (用户名='''+yhm+''')and(菜单项='''+cdbh+''') order by 菜单项';
SQL.Clear;
SQL.Add(sqlstr);
Open;
if recordcount <= 0 then
begin
sqlstr1:='insert into t_qxb(用户名,菜单项)values('''+yhm+''','''+cdbh+''')';
SQL.Clear;
SQL.Add(sqlstr1);
ExecSQL;
end;
end
else
begin
sqlstr:='delete from t_qxb where (用户名='''+yhm+''')and (菜单项='''+cdbh+''')';
SQL.Clear;
SQL.Add(sqlstr);
ExecSQL;
end;
end
else
begin
cdbh:=copy(checklistbox1.Items.Strings[i],0,3);
if checklistbox1.Checked[i] then
begin
sqlstr1:='insert into t_qxb(用户名,菜单项)values('''+yhm+''','''+cdbh+''')';
SQL.Clear;
SQL.Add(sqlstr1);
ExecSQL;
end;
end;
end;
finally
Free;
end;
end;
Close;
end;
procedure Tmodiuser_Form.SpeedButton2Click(Sender: TObject);
begin
Close;
end;
procedure Tmodiuser_Form.FormShow(Sender: TObject);
begin
if usergl_form.modi then
begin
yhm_ledit.Text:=usergl_form.Query1.fieldbyname('用户名').AsString;
mm_ledit.Text:=usergl_form.Query1.fieldbyname('密码').AsString;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -