📄 hm_user.pas
字号:
unit hm_user;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB, Grids, DBGrids;
type
Thm_userForm = class(TForm)
DBGrid1: TDBGrid;
ADOQuery1: TADOQuery;
DataSource1: TDataSource;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
GroupBox1: TGroupBox;
SpeedButton4: TSpeedButton;
SpeedButton5: TSpeedButton;
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Edit2: TEdit;
Label3: TLabel;
ComboBox1: TComboBox;
Label4: TLabel;
ComboBox2: TComboBox;
Edit3: TEdit;
SpeedButton6: TSpeedButton;
ADOQuery2: TADOQuery;
Label5: TLabel;
Label6: TLabel;
Edit4: TEdit;
Edit5: TEdit;
procedure ComboBox2Click(Sender: TObject);
procedure SpeedButton6Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton4Click(Sender: TObject);
procedure SpeedButton5Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
hm_userForm: Thm_userForm;
implementation
uses hm_main;
{$R *.dfm}
//-------------关闭用户管理窗口时,显示主窗口
procedure Thm_userForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
hm_mainForm.Visible:=true;
end;
//---------------选择查询关键词--------------
procedure Thm_userForm.ComboBox2Click(Sender: TObject);
begin
if ComboBox2.ItemIndex=4 then
begin
//用户名作关键词时,显示输入窗口
Edit5.Clear;
Edit5.Visible:=true;
end
else
begin
//其他关键词时,关闭输入窗口
Edit5.Visible:=false;
end;
end;
//---------------------查询选项---------------
procedure Thm_userForm.SpeedButton6Click(Sender: TObject);
var
tempstr:array[1..1,1..5] of string;
begin
//五种情况
tempstr[1,1]:='';
tempstr[1,2]:='where 权限 = 1';
tempstr[1,3]:='where 权限 = 2';
tempstr[1,4]:='where 权限 = 3';
tempstr[1,5]:='where 用户名 = '''+Edit5.Text +'''';
//查询
ADOQuery1.close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := 'select * from 用户清单 '+tempstr[1,ComboBox2.ItemIndex+1];
ADOQuery1.Open;
//清除上次的显示信息
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
ComboBox1.Text:='';
DBGrid1CellClick(nil);
end;
//-------------点击表格,显示详细信息
procedure Thm_userForm.DBGrid1CellClick(Column: TColumn);
begin
if ADOQuery1.RecordCount = 0 then Exit;
Edit1.Text:=ADOQuery1.FieldByName('用户名').AsString;
Edit2.Text:=ADOQuery1.FieldByName('密码').AsString;
Edit3.Text:=ADOQuery1.FieldByName('真实名').AsString;
Edit4.Text:=ADOQuery1.FieldByName('员工号').AsString;
ComboBox1.ItemIndex:=ADOQuery1.FieldByName('权限').AsInteger-1;
end;
//------------------选择修改--------------------
procedure Thm_userForm.SpeedButton1Click(Sender: TObject);
begin
if ADOQuery1.RecordCount = 0 then Exit;
SpeedButton4.Visible:=true;
SpeedButton5.Visible:=true;
SpeedButton2.Enabled:=false;
SpeedButton3.Enabled:=false;
end;
//------------------选择添加--------------------
procedure Thm_userForm.SpeedButton2Click(Sender: TObject);
begin
SpeedButton4.Visible:=true;
SpeedButton5.Visible:=true;
SpeedButton1.Enabled:=false;
SpeedButton3.Enabled:=false;
end;
//---------------------选择清除用户--------------
procedure Thm_userForm.SpeedButton3Click(Sender: TObject);
begin
if ADOQuery1.RecordCount = 0 then Exit;
ADOQuery2.close;
ADOQuery2.Open;
if ADOQuery2.RecordCount = 0 then Exit;
if MessageBox(handle,pchar('要删除'+ADOQuery1.FieldByName('用户名').AsString+'用户吗?'), '提示', mb_IconQuestion + mb_OkCancel) = idOk then
begin
ADOQuery2.close;
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Text := 'delete from 用户清单 where 编号 ='+ADOQuery1.FieldByName('编号').AsString;
ADOQuery2.ExecSQL;
ADOQuery1.close;
ADOQuery1.Open;
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
ComboBox1.ItemIndex:=-1;
end;
end;
//----------------- 确定修改,添加----------------------
procedure Thm_userForm.SpeedButton4Click(Sender: TObject);
begin
if SpeedButton1.Enabled=true then
begin
ADOQuery1.Edit;//修改
end
else
begin
ADOQuery1.Append;//添加
end;
//提取更新的信息,并提交
ADOQuery1.FieldByName('用户名').AsString:=Edit1.Text;
ADOQuery1.FieldByName('密码').AsString:=Edit2.Text;
ADOQuery1.FieldByName('权限').AsInteger:=ComboBox1.ItemIndex+1;
ADOQuery1.FieldByName('真实名').AsString:=Edit3.Text;
ADOQuery1.FieldByName('员工号').AsString:=Edit4.Text;
ADOQuery1.Post;
//清除信息
Edit1.Clear;
Edit2.Clear;
Edit3.Clear;
Edit4.Clear;
ComboBox1.ItemIndex:=-1;
SpeedButton5Click(nil);
end;
//------------------取消修改,添加操作-----------------
procedure Thm_userForm.SpeedButton5Click(Sender: TObject);
begin
SpeedButton4.Visible:=false;
SpeedButton5.Visible:=false;
SpeedButton2.Enabled:=true;
SpeedButton3.Enabled:=true;
SpeedButton1.Enabled:=true;
end;
procedure Thm_userForm.FormShow(Sender: TObject);
begin
SpeedButton6Click(nil);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -