【delphi开源代码栏目提醒】:网学会员为需要delphi开源代码的朋友们搜集整理了Bjda.pas相关资料,希望对各位网友有所帮助!
unit Bjda;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, DBCtrls, Mask, ComCtrls,
HumanResourceControls, Grids, DBGrids, DB, ADODB;
type
TFrmBjda = class(TForm)
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
DBNavigator1: TDBNavigator;
Button1: TButton;
ADODataSet1: TADODataSet;
DataSource1: TDataSource;
ADODataSet2: TADODataSet;
DBEdtDah: TDBEdit;
DBEdtClmc: TDBEdit;
DBEdtClfs: TDBEdit;
DBEdtClys: TDBEdit;
Label5: TLabel;
DBDTPZcrq: TDBDateTimePicker;
ADODataSet1DAXX_GH: TWideStringField;
ADODataSet1DAXX_DAH: TWideStringField;
ADODataSet1DAXX_CLMC: TWideStringField;
ADODataSet1DAXX_CLFS: TSmallintField;
ADODataSet1DAXX_CLYS: TSmallintField;
ADODataSet1DAXX_ZCRQ: TDateTimeField;
procedure FormCreate(Sender: TObject);
procedure ADODataSet1NewRecord(DataSet: TDataSet);
procedure ADODataSet1BeforePost(DataSet: TDataSet);
procedure DBGrid1TitleClick(Column: TColumn);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
FGh:string; //工号私有变量
procedure setGh(value:string); //设置工号
public
{ Public declarations }
property Gh:string read FGh write setGh ; //工号属性
end;
var
FrmBjda: TFrmBjda;
implementation
uses
dm;
{$R *.dfm}
procedure TFrmBjda.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 daxx where trim(daxx_Gh)' +
' = ''' + trim(FGh) + ''' order by daxx_dah';
ADODataSet1.Active := true;
end;// if ADODataSet1.IsEmpty
end; // if trim(FGh) <> ''
end;
procedure TFrmBjda.FormCreate(Sender: TObject);
begin
DBDTPZcrq.MaxDate := now;
end;
procedure TFrmBjda.ADODataSet1NewRecord(DataSet: TDataSet);
begin
ADODataSet1.Fields.FieldByName('DAXX_GH').Value := Gh;
end;
procedure TFrmBjda.ADODataSet1BeforePost(DataSet: TDataSet);
var
tempInt:integer;
begin
if trim(DBEdtDah.Text) = '' then //未输入档案号
begin
ShowMessage('请输入档案号!');
Abort ;
DBEdtDah.SetFocus ;
exit;
end;
if trim(DBEdtClmc.Text) = '' then //未输入材料名称
begin
ShowMessage('请输入材料名称!');
Abort ;
DBEdtClmc.SetFocus ;
exit;
end;
try
tempInt := StrToInt(DBEdtClfs.Text);
except //材料份数输入的不是整数
ShowMessage('请输入正确的材料份数!');
Abort ;
DBEdtClfs.SetFocus ;
exit;
end;
if tempInt <= 0 then //输入的材料份数为负数
begin
ShowMessage('请输入正确的材料份数!');
Abort ;
DBEdtClfs.SetFocus ;
exit;
end;
try
tempInt := StrToInt(DBEdtClys.Text);
except
ShowMessage('请输入正确的材料页数!');//输入的材料页数不是整数
Abort ;
DBEdtClys.SetFocus ;
exit;
end;
if tempInt <= 0 then
begin
ShowMessage('请输入正确的材料页数!'); //输入的材料页数为负数或0
Abort ;
DBEdtClys.SetFocus ;
exit;
end;
if ADODataSet1.FieldByName('DAXX_ZCRQ').AsVariant
= Null then //材料制成日期赋值
ADODataSet1.FieldByName('DAXX_ZCRQ').AsString :=
DateToStr(DBDTPZcrq.Date);
end;
procedure TFrmBjda.DBGrid1TitleClick(Column: TColumn);
var
tempSortStr:string;
begin
//点击表格标题进行排序
tempSortStr := ADODataSet1.Sort ;
if tempSortStr = (Column.FieldName + ' ASC') then //已经是升序则改为降序
begin
ADODataSet1.Sort := Column.FieldName + ' DESC';
end
else //否则改为升序
begin
ADODataSet1.Sort := Column.FieldName + ' ASC';
end;
end;
procedure TFrmBjda.Button1Click(Sender: TObject);
begin
Close;
end;
end.
上一篇:
FrmAuthentic.frm
下一篇:
法律专业开题报告范文