📄 zl_update.~pas
字号:
unit Zl_Update;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Mask, ADODB, DB, Buttons, Grids, DBGrids;
type
TZl_Update_Form = class(TForm)
DBGrid1: TDBGrid;
BitBtn2: TBitBtn;
DataSource1: TDataSource;
ADOConnection1: TADOConnection;
ADOTable1: TADOTable;
ADOQuery1: TADOQuery;
GroupBox1: TGroupBox;
Label1: 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;
Label2: TLabel;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
MaskEdit1: TMaskEdit;
MaskEdit2: TMaskEdit;
MaskEdit4: TMaskEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
Edit9: TEdit;
Edit10: TEdit;
BitBtn1: TBitBtn;
ADOTable2: TADOTable;
Edit1: TEdit;
ComboBox2: TComboBox;
ADOTable3: TADOTable;
Edit11: TEdit;
procedure BitBtn2Click(Sender: TObject);
procedure ADOTable2AfterScroll(DataSet: TDataSet);
procedure FormActivate(Sender: TObject);
procedure ComboBox2Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Edit11Exit(Sender: TObject);
private
{ Private declarations }
procedure initform();
procedure initdbgrid();
procedure loadfromtable();
public
{ Public declarations }
end;
var
Zl_Update_Form: TZl_Update_Form;
flag:integer;
implementation
uses Main;
{$R *.dfm}
procedure TZl_Update_Form.initform();
begin
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:=username;
edit6.Text:='';
edit7.Text:='';
edit8.Text:='';
edit9.Text:='';
edit10.Text:='';
maskedit1.Text:=datetostr(date());
maskedit2.Text:=datetostr(date());
maskedit4.Text:=datetostr(date());
edit11.Text:='';
end;
procedure TZl_Update_Form.initdbgrid ();
begin
dbgrid1.Columns[0].Width:=100;
dbgrid1.Columns[1].Width:=90;
dbgrid1.Columns[2].Width:=60;
dbgrid1.Columns[3].Width:=80;
dbgrid1.Columns[4].Width:=100;
dbgrid1.Columns[5].Width:=100;
dbgrid1.Columns[6].Width:=100;
dbgrid1.Columns[7].Width:=100;
dbgrid1.Columns[8].Width:=100;
dbgrid1.Columns[9].Width:=100;
dbgrid1.Columns[10].Width:=80;
dbgrid1.Columns[11].Width:=80;
dbgrid1.Columns[12].Width:=80;
dbgrid1.Columns[13].Width:=80;
dbgrid1.Columns[14].Width:=80;
end;
procedure TZl_Update_Form.loadfromtable();
begin
edit11.Text:=adotable2.Fieldbyname('职工编号').AsString;
combobox2.Text:=adotable2.Fieldbyname('职工姓名').AsString;
edit1.Text:=adotable2.Fieldbyname('性别').AsString;
maskedit1.Text:=datetostr(adotable2.Fieldbyname('出生年月').AsDateTime);
edit10.Text:=adotable2.Fieldbyname('身份证号').AsString;
edit2.Text:=adotable2.Fieldbyname('通信地址').AsString;
edit6.Text:=adotable2.Fieldbyname('联系电话').AsString;
edit3.Text:=adotable2.Fieldbyname('工作部门').AsString;
edit7.Text:=currtostr(adotable2.Fieldbyname('基本工资').AsCurrency);
maskedit2.Text:=datetostr(adotable2.Fieldbyname('参加工作时间').AsDateTime);
edit8.Text:=adotable2.Fieldbyname('职务').AsString;
edit4.Text:=adotable2.Fieldbyname('专业').AsString;
edit9.Text:=adotable2.Fieldbyname('备注').AsString;
edit5.Text:=adotable2.Fieldbyname('操作人').AsString;
maskedit4.Text:=datetostr(adotable2.Fieldbyname('最后操作时间').AsDateTime);
end;
procedure TZl_Update_Form.BitBtn2Click(Sender: TObject);
begin
close;
end;
procedure TZl_Update_Form.ADOTable2AfterScroll(DataSet: TDataSet);
begin
if adotable2.Recordset.RecordCount>=1 then
begin
loadfromtable;
end;
end;
procedure TZl_Update_Form.FormActivate(Sender: TObject);
begin
dbgrid1.ReadOnly:=true;
ADOConnection1:=MAIN_FORM.ADOConnection1;
dbgrid1.DataSource:=DataSource1;
DataSource1.DataSet:=adotable2;
adotable2.Close;
adotable2.Connection:=ADOConnection1;
adotable2.TableName:='职工信息表';
adotable2.Active:=true;
adotable1.Connection:=ADOConnection1;
adotable1.Active:=false;
adoquery1.Close;
adoquery1.Connection:=ADOConnection1;
adotable3.Connection:=ADOConnection1;
adotable3.TableName:='职工工资信息表';
adotable3.Active:=false;
dbgrid1.Visible:=false;
combobox2.Items.Clear;
while adotable2.Eof <> true do
begin
combobox2.Items.Add(adotable2.Fieldbyname('职工姓名').AsString);
adotable2.Next;
end;
adotable2.First;
dbgrid1.Visible:=true;
initdbgrid ;
initform;
if adotable2.Recordset.RecordCount>=1 then
loadfromtable;
end;
procedure TZl_Update_Form.ComboBox2Click(Sender: TObject);
begin
flag:=2;
if ComboBox2.Text<>'' then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 职工信息表 where 职工姓名=:zgname order by 职工姓名');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='zgname';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=combobox2.Text;
adoquery1.Active:=true;
if adoquery1.Recordset.RecordCount >=1 then
begin
adotable2.Recordset:=adoquery1.Recordset;
loadfromtable;
end
else
application.MessageBox('该职工不存在','提示',48);
adoquery1.Close;
end
else
application.MessageBox('清选择职工姓名','提示',48);
end;
procedure TZl_Update_Form.BitBtn1Click(Sender: TObject);
begin
if edit1.Text<>'' then
begin
//-----------------------------------------------------------
// 更新职工工资信息表
//-----------------------------------------------------------
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 职工工资信息表 where 职工编号=:zgno');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='zgno';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=strtoint(adotable2.FieldByName('职工编号').AsString);
adoquery1.Active:=true;
adotable3.Active:=true;
adotable3.Recordset:=adoquery1.Recordset;
adoquery1.Close;
adotable3.Edit;
adotable3.FieldByName('职工姓名').AsString:=combobox2.Text;
adotable3.FieldByName('职工编号').AsInteger:=strtoint(edit11.Text);
adotable3.FieldByName('操作员').AsString:=username;
adotable3.FieldByName('基本工资').AsCurrency:=strtocurr(edit7.Text);
adotable3.FieldByName('说明').AsString:=edit9.Text;
adotable3.Post;
adotable3.Close;
//-----------------------------------------------------------
// 更新职工信息表
//-----------------------------------------------------------
adotable2.TableName:='职工信息表';
adotable2.Edit;
adotable2.FieldByName('职工编号').AsString:=edit11.Text;
adotable2.FieldByName('职工姓名').AsString:=combobox2.Text;
adotable2.FieldByName('性别').AsString:=edit1.Text;
adotable2.FieldByName('出生年月').AsDateTime:=strtodate(maskedit1.Text);
adotable2.FieldByName('身份证号').asstring:=edit10.Text;
adotable2.FieldByName('通信地址').AsString:=edit2.Text;
adotable2.FieldByName('联系电话').AsString:=edit6.Text;
adotable2.FieldByName('工作部门').AsString:=edit3.Text;
adotable2.FieldByName('基本工资').AsCurrency:=strtocurr(edit7.Text);
adotable2.FieldByName('参加工作时间').AsDateTime:=strtodate(maskedit2.Text);
adotable2.FieldByName('职务').AsString:=edit8.Text;
adotable2.FieldByName('专业').AsString:=edit4.Text;
adotable2.FieldByName('备注').AsString:= edit9.Text;
adotable2.FieldByName('操作人').AsString:= username;
adotable2.FieldByName('最后操作时间').AsDateTime:=date();
adotable2.Post;
adotable2.First;
combobox2.Items.Clear;
while adotable2.Eof <> true do
begin
combobox2.Items.Add(adotable2.Fieldbyname('职工姓名').AsString);
adotable2.Next;
end;
initdbgrid ;
end
else
application.MessageBox('您输入的信息不完整!','警告',48);
end;
procedure TZl_Update_Form.Edit11Exit(Sender: TObject);
begin
flag:=1;
if edit11.Text<>'' then
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from 职工信息表 where 职工编号=:zgnumber ');
adoquery1.Parameters.Clear;
adoquery1.Parameters.AddParameter;
adoquery1.Parameters[0].Name:='zgnumber';
adoquery1.Parameters[0].DataType:=ftstring;
adoquery1.Parameters[0].Direction:=pdinput;
adoquery1.Parameters[0].Value:=edit11.Text;
adoquery1.Active:=true;
if adoquery1.Recordset.RecordCount >=1 then
begin
adotable2.Recordset:=adoquery1.Recordset;
loadfromtable;
end;
// else
// application.MessageBox('该职工不存在','提示',48);
adoquery1.Close;
end
else
application.MessageBox('清输入职工编号','提示',48);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -