📄 workagefind.pas
字号:
unit workagefind;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, Grids, DBGrids, ADODB, ExtCtrls, ComCtrls,workage_unit,
basedata_unit,DBClient;
type
Tworkagefindfrm = class(TForm)
Label1: TLabel;
Bevel1: TBevel;
DBGrid1: TDBGrid;
agefind_ds1: TDataSource;
cancel_btn: TButton;
agefind_cds1: TClientDataSet;
WorkerList: TListBox;
Label2: TLabel;
Label3: TLabel;
Hold_Btn: TButton;
Del_Btn: TButton;
procedure cancel_btnClick(Sender: TObject);
procedure one_btnClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure all_btnClick(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure WorkerListClick(Sender: TObject);
procedure Hold_BtnClick(Sender: TObject);
procedure Del_BtnClick(Sender: TObject);
private
workage:Tworkage;
basedata:Tbasedata;
{ Private declarations }
public
{ Public declarations }
end;
var
workagefindfrm: Tworkagefindfrm;
reid:string;
implementation
uses workageinput;
{$R *.dfm}
procedure Tworkagefindfrm.cancel_btnClick(Sender: TObject);
begin
workagefindfrm.Close;
end;
procedure Tworkagefindfrm.one_btnClick(Sender: TObject);
var
sql:string;
begin {
//创建类的实例
workage:=Tworkage.create ;
//查询时必须输入的项
if (worker_idedit.Text='') or (unit_nameedit.Text='') then
begin
showmessage('请根据员工编号和工作单位查询!');
exit;
end;
//判断查询的记录是否存在
if workage.WorkAgeRec(worker_idedit.Text,unit_nameedit.Text)=false then
begin
showmessage('对不起,该记录不存在!');
exit;
end;
//赋值查询语句
sql:='select worker_id 员工编号,worker_name 员工姓名,'
+'unit_name 工作单位,begin_date 起始日期,over_date 结束日期,'
+'work_time 折算工龄,duty 担任职务,level1 级别,remark 备注'
+' from work_age where worker_id='''+worker_idedit.Text+''' '
+' and unit_name='''+unit_nameedit.Text+'''';
//将查询结果在列表中显示出来
agefind_cds1.Data :=workage.WorkAgeRecs(sql);
//取出对应字段在文本框中显示出来
worker_idedit.Text :=DBGrid1.Fields[0].AsString ;
worker_nameedit.Text :=DBGrid1.Fields[1].AsString ;
begin_datepicker.Date :=strtodate(DBGrid1.Fields[3].AsString );
over_datepicker.Date :=strtodate(DBGrid1.Fields[4].AsString ) ;
unit_nameedit.Text :=DBGrid1.Fields[2].AsString ;
work_timeedit.Text :=DBGrid1.Fields[5].AsString ;
dutyedit.Text :=DBGrid1.Fields[6].AsString;
level1edit.Text :=DBGrid1.Fields[7].AsString ;
remarkedit.Text :=DBGrid1.Fields[8].AsString ;
//释放类的实例
workage.Free; }
end;
procedure Tworkagefindfrm.DBGrid1CellClick(Column: TColumn);
begin
try
reid:=DBGrid1.Fields[0].AsString ;
except
exit;
end;
end;
procedure Tworkagefindfrm.all_btnClick(Sender: TObject);
var
sql:string;
begin
//赋值查询语句
sql:='select * from work_age ';
//判断查询记录是否存在
if workage.WorkAgeRec1(sql)=false then
begin
showmessage('数据库中没有记录存在!');
exit;
end;
end;
procedure Tworkagefindfrm.FormActivate(Sender: TObject);
begin
//创建类的实例
workage:=Tworkage.create ;
basedata:=Tbasedata.create ;
//加载员工编号
WorkerList.Items:=basedata.GetIdLists();
end;
procedure Tworkagefindfrm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//释放实例
workage.Free;
end;
procedure Tworkagefindfrm.WorkerListClick(Sender: TObject);
var
n:integer;
SelItem,sql:string;
begin
//获取选取的编号
for n:=0 to WorkerList.Items.Count-1 do
begin
if WorkerList.Selected[n] then
SelItem:=WorkerList.Items.Strings[n];
end;
//赋值查询语句
sql:='select record_id 记录号,worker_id 员工编号,'
+'worker_name 员工姓名,unit_name 工作单位,'
+'begin_date 起始日期,over_date 结束日期,'
+'work_time 折算工龄,duty 担任职务,level1 级别,remark 备注'
+' from work_age where worker_id='''+SelItem+'''';
//在列表中显示出来
agefind_cds1.Data :=workage.WorkAgeRecs(sql);
end;
procedure Tworkagefindfrm.Hold_BtnClick(Sender: TObject);
begin
workagefrm.show;
end;
procedure Tworkagefindfrm.Del_BtnClick(Sender: TObject);
begin
if reid='' then
begin
showmessage('请单击要删除的记录!');
exit;
end;
//调用删除方法删除记录
workage.RecDel(reid);
//刷新列表显示
WorkerList.OnClick(Sender);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -