📄 unituser.~pas
字号:
unit UnitUser;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, ComCtrls, Grids, DBGrids, DB, ADODB,
ImgList, Buttons;
type
TfrmUser = class(TForm)
Panel1: TPanel;
Label1: TLabel;
srcList: TDataSource;
adolist: TADOQuery;
adotmp: TADOQuery;
grdList: TDBGrid;
Panel4: TPanel;
Panel5: TPanel;
adoRole: TADOQuery;
pclUser: TPageControl;
TabSheet1: TTabSheet;
Label2: TLabel;
edtUserNo: TEdit;
Label7: TLabel;
Label3: TLabel;
edtUserName: TEdit;
Label8: TLabel;
edtTel: TEdit;
Label4: TLabel;
cbxSex: TComboBox;
Label9: TLabel;
edtEmail: TEdit;
Label6: TLabel;
Label10: TLabel;
edtAddress: TEdit;
Label5: TLabel;
memUser: TMemo;
bbtnAdd: TBitBtn;
bbtnModify: TBitBtn;
bbtnDel: TBitBtn;
bbtnSave: TBitBtn;
bbtnCancel: TBitBtn;
bbtnExit: TBitBtn;
DTPBorn: TDateTimePicker;
cbxPost: TComboBox;
procedure Button1Click(Sender: TObject);
procedure btnAddClick(Sender: TObject);
procedure adolistAfterScroll(DataSet: TDataSet);
procedure FormShow(Sender: TObject);
procedure bbtnAddClick(Sender: TObject);
procedure bbtnModifyClick(Sender: TObject);
procedure bbtnDelClick(Sender: TObject);
procedure bbtnSaveClick(Sender: TObject);
// procedure bbtnSentClick(Sender: TObject);
procedure bbtnExitClick(Sender: TObject);
private
{ Private declarations }
procedure ButtonState(btag:integer); //定义按钮状态过程
procedure ShowList; //定义列表显示过程
//procedure AllLoadTreeFun; //定义过程,将所有的功能调入到tree中
procedure iniData; //初始化combox下拉列表中的数据
public
{ Public declarations }
end;
var
frmUser: TfrmUser;
strMsg : string; //strMsg用来记录操作的名称,如添加,修改等
strsql : string;
iflag : integer; //记录操作,如添加,iflag=1;修改,iflag=2;删除,iflag=3
strUno : string; //被分配角色的用户编号
strSexNo : string; //性别所对应的数据字典中的编号
strPostNo : string; //职位所对应的数据字典中的编号
const DOADD = 1;
const DOMODIFY = 2;
const DODEL = 3 ;
const DOSHOW = 4 ;
const DOCANCEL = 5;
implementation
uses UnitADOConn;
{$R *.dfm}
procedure TfrmUser.Button1Click(Sender: TObject);
begin
close;
end;
{
*************************************************************************************
函数名称: 按钮状态
功能描述: 添加、删除、修改、显示、取消时按钮状态
输入参数: 无
输出参数: 无
返回 值: 无
说 明:
*************************************************************************************
}
procedure TfrmUser.ButtonState(btag:integer);
begin
case btag of
1 : //添加时按钮状态
begin
bbtnModify.Enabled := false;
bbtnDel.Enabled := false;
bbtnSave.Enabled := true;
bbtnCancel.Enabled := true;
end;
2: //修改
begin
bbtnAdd.Enabled := false;
bbtnDel.Enabled := false;
bbtnSave.Enabled := true;
bbtnCancel.Enabled := true;
end;
3: //删除
begin
bbtnadd.Enabled := false;
bbtnModify.Enabled := false;
bbtnSave.Enabled := false;
end;
4: //显示状态
begin
bbtnAdd.Enabled := true;
bbtnModify.Enabled := true;
bbtnDel.Enabled := true;
bbtnSave.Enabled := false;
end; //取消
5:
begin
bbtnadd.Enabled := true;
bbtnModify.Enabled := true;
bbtnDel.Enabled := true;
bbtnSave.Enabled := true;
end;
end;
end;
procedure TfrmUser.btnAddClick(Sender: TObject);
begin
end;
{
*************************************************************************************
函数名称:显示DBGrid列表
功能描述:将TUser表中的数据在DBGrid列表中显示出来
输入参数: 无
输出参数: 无
返回 值: 无
说 明: 添加、修改、删除操作要调用该函数以达到显示更新后的数据显示目的
*************************************************************************************
}
procedure TfrmUser.ShowList;
begin
try
adolist.Connection := adoconn;
adolist.Close;
adolist.SQL.Text := 'select UNo,UName,USex,UBirth,UPost,UPhone,UEmail,UAddress,Umemo from TUser order by UNo asc';
adolist.Open;
adotmp.Connection := adoconn;
adotmp.Close;
adotmp.SQL.Text := 'select DId,DName from TDataParam where DId='''+adolist.fieldbyname('USex').asstring+'''';
adotmp.Open;
if adotmp.RecordCount<>0 then
begin
cbxSex.Text := adotmp.fieldbyname('DId').asstring+'['+adotmp.fieldbyname('DName').asstring+']';
adotmp.Close;
adotmp.SQL.Text := 'select DId,DName from TDataParam where DId='''+adolist.fieldbyname('UPost').asstring+'''';
adotmp.Open;
cbxPost.Text := adotmp.fieldbyname('DId').asstring+'['+adotmp.fieldbyname('DName').asstring+']';
edtUserNo.Text := adolist.Fields[0].Text;
strUno := edtUserNo.Text;
edtUserName.Text := adolist.Fields[1].Text;
DTPBorn.Date := strtodate(adolist.Fields[3].Text);
edtTel.Text := adolist.Fields[5].Text;
edtEmail.Text := adolist.Fields[6].Text;
edtAddress.Text := adolist.Fields[7].Text;
memUser.Text := adolist.Fields[8].Text;
edtUserNo.ReadOnly := true;
edtUserName.ReadOnly := true;
edtTel.ReadOnly := true;
edtEmail.ReadOnly := true;
edtAddress.ReadOnly := true;
memUser.ReadOnly := true;
end;
except
on e:exception do
showmessage('列表显示失败');
end;
//adolist.Close; //注意:不能关掉,关掉的话数据集里的数据将丢失
buttonState(4);
end;
{
*************************************************************************************
函数名称:数据集滚动事件
功能描述:根据用户点击的项,显示不同的记录
输入参数: 无
输出参数: 无
返回 值: 无
说 明:
*************************************************************************************
}
procedure TfrmUser.adolistAfterScroll(DataSet: TDataSet);
begin
adotmp.Connection := adoconn;
adotmp.Close;
adotmp.SQL.Text := 'select DId,DName from TDataParam where DId='''+adolist.fieldbyname('USex').asstring+'''';
adotmp.Open;
cbxSex.Text := adotmp.fieldbyname('DId').asstring+'['+adotmp.fieldbyname('DName').asstring+']';
adotmp.Close;
adotmp.SQL.Text := 'select DId,DName from TDataParam where DId='''+adolist.fieldbyname('UPost').asstring+'''';
adotmp.Open;
cbxPost.Text := adotmp.fieldbyname('DId').asstring+'['+adotmp.fieldbyname('DName').asstring+']';
edtUserNo.Text := adolist.Fields[0].Text;
strUno := edtUserNo.Text;
edtUserName.Text := adolist.Fields[1].Text;
dtpBorn.Date := strtodate(adolist.Fields[3].text);
edtTel.Text := adolist.Fields[5].Text;
edtEmail.Text := adolist.Fields[6].Text;
edtAddress.Text := adolist.Fields[7].Text;
memUser.Text := adolist.Fields[8].Text;
end;
procedure TfrmUser.FormShow(Sender: TObject);
begin
pclUser.TabIndex := 0;
iniData;
showlist;
if blnAdd = false then //如果用户没有添加的权限,则将添加按钮置为不可见状态
bbtnAdd.Visible := false;
if blnModify = false then //如果用户没有修改的权限,则将修改按钮置为不可见状态
bbtnModify.Visible := false;
if blnDel = false then //如果用户没有删除的权限,则将删除按钮置为不可见状态
bbtnDel.Visible := false;
end;
procedure TfrmUser.bbtnAddClick(Sender: TObject);
var
strNo : string; //获取即将要添加的用户编号
begin
iflag := DOADD;
buttonstate(DOADD);
edtUserNo.Text := '';
edtUserName.Text := '';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -