📄 user.pas
字号:
unit User;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Grids, DBGrids, Buttons, ToolWin, ComCtrls;
type
Tfrm_User = class(TForm)
Panel1: TPanel;
DBGrid1: TDBGrid;
Panel2: TPanel;
EditUser_ID: TLabeledEdit;
Edit2: TLabeledEdit;
EditUser_Name: TLabeledEdit;
EditUser_Pwd: TLabeledEdit;
ToolBar1: TToolBar;
Cmd_Add: TSpeedButton;
Cmd_Delete: TSpeedButton;
Cmd_Edit: TSpeedButton;
Cmd_Save: TSpeedButton;
Cmd_Rush: TSpeedButton;
Cmd_Cancel: TSpeedButton;
EditUser_Type: TComboBox;
EditID: TEdit;
GroupBox1: TGroupBox;
Label1: TLabel;
procedure Cmd_CancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure Cmd_AddClick(Sender: TObject);
procedure Cmd_RushClick(Sender: TObject);
procedure Cmd_SaveClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure Cmd_EditClick(Sender: TObject);
procedure Cmd_DeleteClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frm_User: Tfrm_User;
tempPwd:String;//口令定义 是为了加密码
implementation
uses Data, func;
{$R *.dfm}
procedure Tfrm_User.Cmd_CancelClick(Sender: TObject);
begin
Close;
end;
procedure Tfrm_User.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=Cafree;
end;
procedure Tfrm_User.FormShow(Sender: TObject);
begin
with frm_data.Query_User_Type do
begin
EditUser_Type.Clear;
Close;
Sql.Clear;
Sql.Add('SELECT * from [User_Type]');
try
Prepared;
Open;
while not eof do
begin
EditUser_Type.Items.Add(frm_data.Query_User_Type.FieldByName('User_Type').AsString);
Next;
end;
except
Application.MessageBox('系统在打开数据库时'+#13#10#13+'与远程服务器连接错误!请确认',Pchar(Application.Title),MB_ICONWarning);
Exit;
end;
end;
//
Cmd_RushClick(sender);
end;
procedure Tfrm_User.Cmd_AddClick(Sender: TObject);
begin
Cmd_Delete.Enabled:=False;
Cmd_Add.Enabled:=False;
Cmd_Edit.Enabled:=False;
Cmd_Save.Enabled:=True;
Cmd_Rush.Caption:='&刷新';
end;
procedure Tfrm_User.Cmd_RushClick(Sender: TObject);
begin
if Cmd_Rush.Caption='&刷新' then
begin
with frm_data.Query_Login do
begin
Close;
Sql.Clear;
Sql.Add('SELECT * FROM [Login]');
Prepared;
Open;
if frm_data.Query_Login.RecordCount>0 then
begin
First;
EditUser_ID.Text:=frm_data.Query_Login.FieldByName('User_ID').AsString;
EditUser_Type.Text:=frm_data.Query_Login.FieldByName('User_Type').AsString;
EditUser_Name.Text:=frm_data.Query_Login.FieldByName('User_Name').AsString;
EditUser_Pwd.Text:=frm_data.Query_Login.FieldByName('User_Pwd').AsString;
EditID.Text:=frm_data.Query_Login.FieldByName('ID').AsString;
end
else
begin
EditUser_ID.Text:='';
EditUser_Type.Text:='';
EditUser_Name.Text:='';
EditUser_Pwd.Text:='';
EditID.Text:='';
end;
end;
end;
if Cmd_Rush.Caption='&取消' then
begin
Cmd_Delete.Enabled:=True;
Cmd_Add.Enabled:=True;
Cmd_Edit.Enabled:=True ;
Cmd_Save.Enabled:=False;
Cmd_Rush.Caption:='&刷新';
with frm_data.Query_Login do
begin
Close;
Sql.Clear;
Sql.Add('SELECT * FROM [Login]');
Prepared;
Open;
if frm_data.Query_Login.RecordCount>0 then
begin
First;
EditUser_ID.Text:=frm_data.Query_Login.FieldByName('User_ID').AsString;
EditUser_Type.Text:=frm_data.Query_Login.FieldByName('User_Type').AsString;
EditUser_Name.Text:=frm_data.Query_Login.FieldByName('User_Name').AsString;
EditUser_Pwd.Text:=frm_data.Query_Login.FieldByName('User_Pwd').AsString;
EditID.Text:=frm_data.Query_Login.FieldByName('ID').AsString;
end
else
begin
EditUser_ID.Text:='';
EditUser_Type.Text:='';
EditUser_Name.Text:='';
EditUser_Pwd.Text:='';
EditID.Text:='';
end;
end;
end;
end;
procedure Tfrm_User.Cmd_SaveClick(Sender: TObject);
begin
if Trim(EditUser_ID.Text)=''then
begin
Application.MessageBox('操作错误【用户编号】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
EditUser_ID.SetFocus;
end;
if Trim(EditUser_Type.Text)=''then
begin
Application.MessageBox('操作错误【用户类型】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
EditUser_Type.SetFocus;
end;
if Trim(EditUser_Name.Text)=''then
begin
Application.MessageBox('操作错误【用户名称】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
EditUser_Name.SetFocus;
end;
if Trim(EditUser_Pwd.Text)=''then
begin
Application.MessageBox('操作错误【用户口令】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
EditUser_Pwd.SetFocus;
end;
with frm_data.Query_Login do
begin
Close;
Sql.Clear;
Sql.Add('SELECT * FROM [Login] where User_ID='''+Trim(EditUser_ID.Text)+''' and User_Type='''+Trim(EditUser_Type.Text)+''' and User_Name='''+Trim(EditUser_Name.Text)+'''');
Try
Prepared;
Open;
if frm_data.Query_Login.RecordCount>0 then
begin
Application.MessageBox('插入数据失败【该操作用户】已经存在!请确认!',Pchar(Application.Title),MB_ICONWARNing);
EditUser_Name.SetFocus;
end
else
begin
tempPwd:=Decrypt(trim(EditUser_Pwd.Text),'luersoft'); //加密码
EditUser_Pwd.Text:=tempPwd;//把加密后的密码赋给 EditUser_Pwd
with frm_data.Query_Login do
begin
Close;
Sql.Clear;
Sql.Add('INSERT INTO [Login](User_ID,User_Type,User_Name,User_Pwd) values (:User_ID,:User_Type,:User_Name,:User_Pwd)');
frm_data.Query_Login.Parameters[0].Value:=Trim(EditUser_ID.Text);
frm_data.Query_Login.Parameters[1].Value:=Trim(EditUser_Type.Text);
frm_data.Query_Login.Parameters[2].Value:=Trim(EditUser_Name.Text);
frm_data.Query_Login.Parameters[3].Value:=Trim(EditUser_Pwd.Text);
Try
Prepared;
ExecSql;
Application.MessageBox('保存数据表【LOGIN】成功!请确认!',Pchar(Application.Title),MB_ICONWARNing);
Cmd_RushClick(sender); //调用数据刷新过程
except
Application.MessageBox('系统错误!在保存数据表【LOGIN】时与远程服务器连接错误!请确认!',Pchar(Application.Title),MB_ICONWARNing);
Exit;
End;
end;
end;
except
Application.MessageBox('系统错误!在打开数据表【LOGIN】时与远程服务器连接错误!请确认!',Pchar(Application.Title),MB_ICONWARNing);
Exit;
end;
end;
end;
procedure Tfrm_User.DBGrid1CellClick(Column: TColumn);
begin
EditUser_ID.Text:=frm_data.Query_Login.FieldByName('User_ID').AsString;
EditUser_Type.Text:=frm_data.Query_Login.FieldByName('User_Type').AsString;
EditUser_Name.Text:=frm_data.Query_Login.FieldByName('User_Name').AsString;
EditUser_Pwd.Text:=frm_data.Query_Login.FieldByName('User_Pwd').AsString;
EditID.Text:=frm_data.Query_Login.FieldByName('ID').AsString;
end;
procedure Tfrm_User.Cmd_EditClick(Sender: TObject);
begin
if Trim(EditID.Text)='' then
begin
Application.MessageBox('操作错误!需要修改时【用户编号】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
EditUser_ID.SetFocus;
end;
if Application.MessageBox('确定需要修改该【操作用户】的信息吗?请确认!',Pchar(Application.Title),MB_OKCancel)=idok then
begin
tempPwd:=Decrypt(trim(EditUser_Pwd.Text),'luersoft'); //加密码
EditUser_Pwd.Text:=tempPwd;
with frm_data.Query_Login do
begin
Close;
Sql.Clear;
Sql.Add('UPDATE [Login] SET User_ID=:U1,User_Type=:U2,User_Name=:U3,User_Pwd=:U4 WHERE ID=:U5');
frm_data.Query_Login.Parameters[0].Value:=Trim(EditUser_ID.Text);
frm_data.Query_Login.Parameters[1].Value:=Trim(EditUser_Type.Text);
frm_data.Query_Login.Parameters[2].Value:=Trim(EditUser_Name.Text);
frm_data.Query_Login.Parameters[3].Value:=Trim(EditUser_Pwd.Text);
frm_data.Query_Login.Parameters[4].Value:=Trim(EditID.Text);
Try
Prepared;
ExecSql;
Application.MessageBox('修改数据表【LOGIN】操作成功!请确认!',Pchar(Application.Title),MB_ICONWARNing);
Cmd_RushClick(Sender);
Except
Application.MessageBox('系统错误!在修改数据表【LOGIN】时与远程服务器连接错误!请确认!',Pchar(Application.Title),MB_ICONWARNing);
Exit;
End;
end;
end;
end;
procedure Tfrm_User.Cmd_DeleteClick(Sender: TObject);
begin
if Trim(EditID.Text)='' then
begin
Application.MessageBox('操作错误!需要修改时【用户编号】不能为空!请确认!',Pchar(Application.Title),MB_ICONWARNing);
EditUser_ID.SetFocus;
end;
if Application.MessageBox('确定需要删除该【操作用户】的信息吗?请确认!',Pchar(Application.Title),MB_OKCancel)=idok then
begin
with frm_data.Query_Login do
begin
Close;
Sql.Clear;
Sql.Add('DELETE [Login] WHERE ID='''+Trim(EditID.Text)+''' ');
Try
Prepared;
ExecSql;
Application.MessageBox('删除数据表【LOGIN】操作成功!请确认!',Pchar(Application.Title),MB_ICONWARNing);
Cmd_RushClick(Sender);
Except
Application.MessageBox('系统错误!在删除数据表【LOGIN】时与远程服务器连接错误!请确认!',Pchar(Application.Title),MB_ICONWARNing);
Exit;
End;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -