【delphi开源代码栏目提醒】:网学会员在delphi开源代码频道为大家收集整理了bjzc.pas提供大家参考,希望对大家有所帮助!
unit bjzc;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, ComCtrls,
HumanResourceControls, Grids, DBGrids, DB, ADODB;
type
TFrmBjzc = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
DBDTPPrrq: TDBDateTimePicker;
DBDTPJsrq: TDBDateTimePicker;
DBNavigator1: TDBNavigator;
Button1: TButton;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
ADODataSet2: TADODataSet;
DBEdtPzdw: TDBEdit;
Label5: TLabel;
DBEdtPzwh: TDBEdit;
Label6: TLabel;
Label7: TLabel;
DBEdtZgzsh: TDBEdit;
Label8: TLabel;
DBEdtPrdw: TDBEdit;
Label9: TLabel;
DBEdtPrzsh: TDBEdit;
ADODataSet1ZCXX_GH: TWideStringField;
ADODataSet1ZCXX_PRZCDM: TWideStringField;
ADODataSet1ZCXX_PZRQ: TDateTimeField;
ADODataSet1ZCXX_PZDW: TWideStringField;
ADODataSet1ZCXX_PZWH: TWideStringField;
ADODataSet1ZCXX_PRDW: TWideStringField;
ADODataSet1ZCXX_PRSJ: TDateTimeField;
ADODataSet1ZCXX_JPSJ: TDateTimeField;
ADODataSet1ZCXX_ZGZSH: TWideStringField;
ADODataSet1ZCXX_PRZSH: TWideStringField;
ADODataSet1ZCXX_PRZCMC: TStringField;
DBLookupCmbPrzc: TDBLookupComboBox;
DBDTPPzsj: TDBDateTimePicker;
procedure ADODataSet1NewRecord(DataSet: TDataSet);
procedure ADODataSet1BeforePost(DataSet: TDataSet);
procedure DBGrid1TitleClick(Column: TColumn);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
FGh:string;
procedure setGh(value:string);
public
{ Public declarations }
property Gh:string read FGh write setGh ;
end;
var
FrmBjzc: TFrmBjzc;
implementation
uses
dm;
{$R *.dfm}
procedure TFrmBjzc.setGh(value:string);
begin
FGh := value;
if trim(FGh) = '' then //工号为空
begin
ADODataSet1.Active := false;
end
else
begin
//下面查找是否有工号为FGh的员工
ADODataSet2.Active := false;
ADODataSet2.CommandText := 'select * from jbzl where trim(JBZL_GH)' +
' = ''' + trim(FGh) + '''';
ADODataSet2.Active := true;
if ADODataSet2.IsEmpty then //此员工不存在
begin
ShowMessage('未找到工号为' + FGh + '的员工');
ADODataSet1.Active := false;
end
else //存在此员工
begin
Caption := '编辑职称信息:' +
ADODataSet2.fieldbyName('JBZL_XM').AsString ;
ADODataSet1.Active := false;
ADODataSet1.CommandText := 'select * from zcxx where trim(zcxx_Gh)' +
' = ''' + trim(FGh) + ''' order by zcxx_pzrq';
ADODataSet1.Active := true;
end;// if ADODataSet1.IsEmpty
end; // if trim(FGh) <> ''
end;
procedure TFrmBjzc.ADODataSet1NewRecord(DataSet: TDataSet);
begin
ADODataSet1.Fields.FieldByName('ZCXX_GH').Value := Gh;
end;
procedure TFrmBjzc.ADODataSet1BeforePost(DataSet: TDataSet);
begin
if trim(DBLookupCmbPrzc.Text)='' then
begin
ShowMessage('请输入职称!');
Abort ;
DBLookupCmbPrzc.SetFocus ;
exit;
end;
if ADODataSet1.FieldByName('ZCXX_PZRQ').Value = null then
begin
ShowMessage('请输入批准时间!');
Abort ;
DBDTPPzsj.SetFocus ;
exit;
end;
if trim(DBEdtPzdw.Text)='' then
begin
ShowMessage('请输入批准单位!');
Abort ;
DBEdtPzdw.SetFocus ;
exit;
end;
if trim(DBEdtZgzsh.Text)='' then
begin
ShowMessage('请输入资格证书号!');
Abort ;
DBEdtZgzsh.SetFocus ;
exit;
end;
if ADODataSet1.FieldByName('ZCXX_PRSJ').Value <> Null then
begin
if (DBDTPPrrq.Date < DBDTPPzsj.Date) then
begin
ShowMessage('聘任日期必须晚于批准日期!');
Abort ;
DBDTPPrrq.SetFocus ;
exit;
end;
if trim(DBEdtPrdw.Text)='' then
begin
ShowMessage('请输入聘任单位!');
Abort ;
DBEdtPrdw.SetFocus ;
exit;
end;
if trim(DBEdtPrzsh .Text)='' then
begin
ShowMessage('请输入聘任证书号!');
Abort ;
DBEdtPrzsh.SetFocus ;
exit;
end;
if (ADODataSet1.FieldByName('ZCXX_JPSJ').Value<> Null) and
(DBDTPJsrq.Date < DBDTPPrrq.Date) then
begin
ShowMessage('解聘日期必须晚于聘任日期!');
Abort ;
DBDTPJsrq.SetFocus ;
exit;
end;
end;
end;
procedure TFrmBjzc.DBGrid1TitleClick(Column: TColumn);
var
tempSortStr,FN:string;
begin
FN := Column.FieldName;
if trim(FN) = 'ZCXX_PRZCMC' then
begin
FN := 'ZCXX_PRZCDM';
end;
tempSortStr := ADODataSet1.Sort ;
if tempSortStr = (FN + ' ASC') then
begin
ADODataSet1.Sort := FN + ' DESC';
end
else
begin
ADODataSet1.Sort := FN + ' ASC';
end;
end;
procedure TFrmBjzc.Button1Click(Sender: TObject);
begin
Close;
end;
procedure TFrmBjzc.FormCreate(Sender: TObject);
begin
DBDTPPrrq.MaxDate := now;
DBDTPJsrq.MaxDate := now;
DBDTPPzsj.MaxDate := now;
end;
end.
上一篇:
DisableIEStatusbarDlg.cpp
下一篇:
基于JSP邮件收发系统论文