📄 basefindunit1.pas.~7~
字号:
unit basefindUnit1;
interface
uses
Windows,Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,Grids, DBGrids, ExtCtrls, DB, ADODB, ExtDlgs, ComCtrls, DBCtrls,
StdCtrls,DBClient,basedata_unit;
type
Tbasefindfrm = class(TForm)
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
Label17: TLabel;
Label18: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit9: TEdit;
Edit10: TEdit;
Edit11: TEdit;
Edit12: TEdit;
Edit13: TEdit;
Edit14: TEdit;
Memo1: TMemo;
cancel_btn: TButton;
all_btn: TButton;
DateTimePicker1: TDateTimePicker;
DateTimePicker2: TDateTimePicker;
DateTimePicker3: TDateTimePicker;
Label1: TLabel;
Bevel1: TBevel;
basefind_ds1: TDataSource;
DBGrid1: TDBGrid;
one_btn: TButton;
basefind_cds1: TClientDataSet;
Image1: TImage;
procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
procedure cancel_btnClick(Sender: TObject);
procedure all_btnClick(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
private
basedata:Tbasedata;
{ Private declarations }
public
{ Public declarations }
end;
var
basefindfrm: Tbasefindfrm;
findsql:string;
implementation
{$R *.dfm}
procedure Tbasefindfrm.cancel_btnClick(Sender: TObject);
begin
dbgrid1.Enabled :=false;
edit1.Text :=''; edit2.Text :='';edit3.Text :='';edit5.Text :='';
edit6.Text :='';edit7.Text :='';edit9.Text :='';edit10.Text :='';
edit11.Text :='';edit12.Text :='';edit13.Text :='';edit14.Text :='';
memo1.Text :='';
basefindfrm.Close;
end;
procedure Tbasefindfrm.all_btnClick(Sender: TObject);
begin
//创建类的实例
basedata:=Tbasedata.create ;
//赋值查询语句
findsql:='select WORKER_ID 员工编号,WORKER_NAME 员工姓名,'
+'SEX 性别,ARCHIVES_ID 档案编号 ,SCHOOL_AGE 学历,PHOTO 个人照片,'
+'BIRTHDAY 出生日期,NATIVE_PLACE 籍贯,GRADUATE_SCH 毕业学校,'
+'POLITIC_STATUS 政治面貌,LINK_PHONE 联系电话,DEPARTMENT_NAME '
+'所在部门名称,MAJOR 专业,ADDRESS 住址,WORK_TIME 参加工作时间,'
+'COME_TIME 入本单位时间,REMARK 备注 FROM BASE_DATA';
//执行查询方法并用列表显示出来
basefind_cds1.Data:=basedata.AllRec(findsql);
//释放实例
basedata.Free;
end;
procedure Tbasefindfrm.Button5Click(Sender: TObject);
begin
//创建实例
basedata:=Tbasedata.create ;
//判断查询时是否输入员工编号
if edit1.Text ='' then
begin
showmessage('请输入员工编号查询!');
edit1.SetFocus ;
exit;
end;
//判断查询记录是否存在
if basedata.CheckRec(edit1.Text)=false then
begin
showmessage('对不起,该员工编号不存在!');
edit1.SetFocus ;
exit;
end;
//赋值查询语句
findsql:='select WORKER_ID 员工编号,WORKER_NAME 员工姓名,SEX '
+'性别,ARCHIVES_ID 档案编号 ,SCHOOL_AGE 学历,PHOTO 个人照片,'
+'BIRTHDAY 出生日期,NATIVE_PLACE 籍贯,GRADUATE_SCH 毕业学校,'
+'POLITIC_STATUS 政治面貌,LINK_PHONE 联系电话,DEPARTMENT_NAME '
+'所在部门名称,MAJOR 专业,ADDRESS 住址,WORK_TIME 参加工作时间,'
+'COME_TIME 入本单位时间,REMARK 备注 '
+' FROM BASE_DATA where WORKER_ID='''+edit1.Text+'''';
//执行类中查询方法并用列表显示出来
basefind_cds1.Data :=basedata.AllRec(findsql);
//释放实例
basedata.Free;
end;
procedure Tbasefindfrm.DBGrid1CellClick(Column: TColumn);
begin
//实例化类
basedata:=Tbasedata.create ;
//获取员工编号
edit1.Text :=DBGrid1.Fields[0].AsString ;
//判断查询记录是否存在
if basedata.CheckRec(edit1.Text)=false then
begin
showmessage('对不起,该员工编号不存在!');
exit;
end;
//调用类中查询方法返回图片信息并在image中显示出来
Image1.Picture.Bitmap.LoadFromStream(basedata.GetPhoto(edit1.Text) );
//释放返回的图片信息
basedata.GetPhoto(edit1.Text).Free;
//将其它信息在文本框中显示出来
edit2.Text :=DBGrid1.Fields[1].AsString ;
edit9.Text :=DBGrid1.Fields[2].AsString ;
edit3.Text :=DBGrid1.Fields[3].AsString ;
edit10.Text :=DBGrid1.Fields[4].AsString ;
datetimepicker1.Date :=strtodate(DBGrid1.Fields[6].AsString) ;
edit11.Text :=DBGrid1.Fields[7].AsString ;
edit5.Text :=DBGrid1.Fields[8].AsString ;
edit6.Text :=DBGrid1.Fields[9].AsString ;
edit7.Text :=DBGrid1.Fields[10].AsString ;
edit14.Text :=DBGrid1.Fields[11].AsString ;
edit13.Text :=DBGrid1.Fields[12].AsString ;
edit12.Text :=DBGrid1.Fields[13].AsString ;
datetimepicker2.Date:=strtodate(DBGrid1.Fields[14].AsString);
datetimepicker3.Date:=strtodate(DBGrid1.Fields[15].AsString);
memo1.Text :=DBGrid1.Fields[16].AsString ;
end;
procedure Tbasefindfrm.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
area:trect;
bmp:tbitmap;
begin
area:=rect; //设置显示区域为矩形
if(column.Field=DBGrid1.Fields[5]) then
begin
bmp:=tbitmap.Create ;
try
bmp.Width :=(rect.Bottom-rect.Top)*3; //设置图片的宽度
area.Right :=rect.Left +bmp.Width; //设置显示区域的右端范围
bmp.Assign(DBGrid1.Fields[5]); //指定图片来源
dbgrid1.Canvas.StretchDraw(area,bmp); //在显示区域中画出图片
except
bmp.Free ;
end;
area:=rect;
area.Left :=area.Left +bmp.Height; //设置显示区域的左端区域
end;
dbgrid1.DefaultDrawDataCell(area,column.Field,state);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -