📄 modiuser.pas
字号:
unit MODIUSER;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Buttons, CheckLst, FMTBcd, DB, DBTables;
type
Tmodiuser_Form = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
yhm_LEdit: TLabeledEdit;
mm_LEdit: TLabeledEdit;
SpeedButton2: TSpeedButton;
SpeedButton1: TSpeedButton;
CheckListBox1: TCheckListBox;
Query1: TQuery;
procedure FormCreate(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
private
{ Private declarations }
public
{ Public declarations }
end;
var
modiuser_Form: Tmodiuser_Form;
implementation
uses usergl, ComCtrls, main;
{$R *.dfm}
procedure Tmodiuser_Form.FormCreate(Sender: TObject);
var
yhm,cdbh,cdmc,sqlstr:string;
begin
Caption:=usergl_form.xx;
query1.sessionName:=main_Form.Database1.SessionName;
query1.DatabaseName:=main_Form.Database1.DatabaseName;with tquery.Create(nil) do
begin
try
Close;
sessionName:=main_Form.Database1.SessionName;
DatabaseName:=main_Form.Database1.DatabaseName;
sqlstr:='select * from [cdx] order by cdx';
SQL.Clear;
SQL.Add(sqlstr);
Open;
First;
while not Eof do
begin
cdbh:=fieldbyname('cdx').AsString;
cdmc:=fieldbyname('cdm').AsString;
Checklistbox1.Items.Add(cdbh+'&'+cdmc);
if usergl_form.modi then
begin
yhm:=usergl_form.Query1.fieldbyname('yhm').AsString;
sqlstr:='select * from [qxb] where(yhm='''+yhm+''')and(cdx='''+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 [user] where (yhm='''+yhm+''') and (id<>'''+id+''')';
if usergl_form.modi then
sqlstr:='update [user] set yhm='''+yhm+''',mm='''+mm+ ''' where (id='''+id+''')'
else
sqlstr:='insert into [user] (yhm,mm) values('''+yhm+''','''+mm+''')';
with tquery.Create(nil) do
begin
try
sessionName:=main_Form.Database1.SessionName;
DatabaseName:=main_Form.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 [qxb] where (yhm='''+yhm+''')and(cdx='''+cdbh+''') order by cdx';
SQL.Clear;
SQL.Add(sqlstr);
Open;
if recordcount <= 0 then
begin
sqlstr1:='insert into [qxb] (yhm,cdx)values('''+yhm+''','''+cdbh+''')';
SQL.Clear;
SQL.Add(sqlstr1);
ExecSQL;
end;
end
else
begin
sqlstr:='delete from [qxb] where (yhm='''+yhm+''')and (cdx='''+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 [qxb] (yhm,cdx)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('name').AsString;
mm_ledit.Text:=usergl_form.query1.fieldbyname('passwd').AsString;
end;
end;
procedure Tmodiuser_Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -