📄 expertadd.~pas
字号:
unit ExpertAdd;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DBCtrls, Mask, DB, ADODB, Grids, DBGrids, ComCtrls;
type
TfrmExpertAdd = class(TForm)
DataSource1: TDataSource;
DBComboBox1: TDBComboBox;
ADOQryExpert: TADOQuery;
ADOQryExpertID: TWideStringField;
ADOQryExpertID2: TWideStringField;
ADOQryExpertDSDesigner2: TWideStringField;
ADOQryExpertDSDesigner3: TWideStringField;
ADOQryExpertDSDesigner4: TDateTimeField;
ADOQryExpertDSDesigner5: TWideStringField;
ADOQryExpertDSDesigner6: TWideStringField;
ADOQryExpertDSDesigner7: TWideStringField;
ADOQryExpertDSDesigner8: TWideStringField;
ADOQryExpertDSDesigner9: TWideStringField;
ADOQryExpertDSDesigner10: TWideStringField;
ADOQryExpertDSDesigner: TBooleanField;
Label1: TLabel;
DBEdit1: TDBEdit;
DBCheckBox1: TDBCheckBox;
DBEdit2: TDBEdit;
Label3: TLabel;
Label4: TLabel;
DBEdit4: TDBEdit;
Label5: TLabel;
Label6: TLabel;
DBEdit6: TDBEdit;
Label7: TLabel;
DBEdit7: TDBEdit;
Label8: TLabel;
DBEdit8: TDBEdit;
Label9: TLabel;
DBEdit9: TDBEdit;
Label10: TLabel;
DBEdit10: TDBEdit;
Label11: TLabel;
DBEdit11: TDBEdit;
btnSave: TButton;
btnCancel: TButton;
btnAdd: TButton;
ADOQryMaxID: TADOQuery;
ADOQryExpertDSDesigner11: TWideStringField;
Label12: TLabel;
DBComboBox2: TDBComboBox;
Label2: TLabel;
DatTimePicker: TDateTimePicker;
DBComboBox3: TDBComboBox;
procedure FormCreate(Sender: TObject);
procedure btnSaveClick(Sender: TObject);
procedure btnCancelClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormShow(Sender: TObject);
procedure btnAddClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmExpertAdd: TfrmExpertAdd;
implementation
uses Main;
{$R *.dfm}
procedure TfrmExpertAdd.FormCreate(Sender: TObject);
begin
//打开数据集,增加一条空记录
with ADOQryExpert do begin
Connection:=frmMain.ADOConnection1;
Close;
SQL.Clear;
SQL.Add('select * from Expert where 组ID like :GroupID Order by 组ID asc,专家ID asc');
Parameters.ParamByName('GroupID').Value := sGGroupId;
Prepared :=true;
Open; //select语句需用Open方法执行
end;
with ADOQryMaxID do begin
Connection:=frmMain.ADOConnection1;
Close;
SQL.Clear;
SQL.Add('select * from Expert Order by 专家ID desc');
Prepared :=true;
Open; //select语句需用Open方法执行
end;
ADOQryMaxID.First;
//初始化DatTimePicker
DatTimePicker.ShowCheckbox :=true;
DatTimePicker.Date :=date;
DatTimePicker.Checked :=false;
btnAddClick(btnAdd);
end;
procedure TfrmExpertAdd.btnSaveClick(Sender: TObject);
begin
if VarIsnull(DBedit4.Text) then
begin
Application.MessageBox('[姓名] 为空值,没有输入,无法保存','提示信息',MB_OK);
exit;
end;
if Trim(DBedit4.Text)='' then
begin
Application.MessageBox('[姓名] 没有输入,无法保存','提示信息',MB_OK);
exit;
end;
if DatTimePicker.Checked then
ADOQryExpert.FieldValues['出生日期'] :=DatTimePicker.Date
else
ADOQryExpert.FieldValues['出生日期'] :=Null;
ADOQryExpert.post;
//刷新主界面的专家表
frmMain.ADOQryExpert.Active :=false;
frmMain.ADOQryExpert.Active :=True;
frmMain.ADOQryExpert.Locate('专家ID',ADOQryExpert.FieldValues['专家ID'],[loCaseInsensitive]);
btnAddClick(btnAdd);
DBEdit4.SetFocus;
end;
procedure TfrmExpertAdd.btnCancelClick(Sender: TObject);
begin
close;
end;
procedure TfrmExpertAdd.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
ADOQryExpert.Cancel;
end;
procedure TfrmExpertAdd.FormShow(Sender: TObject);
begin
frmExpertAdd.Caption :='增加专家 -- [' + sGGroupName + ']' ;
end;
procedure TfrmExpertAdd.btnAddClick(Sender: TObject);
begin
ADOQryExpert.Append;
ADOQryExpert.FieldValues['组ID']:= sGGroupId;
ADOQryExpert.FieldValues['选中']:=True;
// ADOQryExpert.FieldValues['专家ID']:=varToStr(ADOQryMaxID.FieldValues['MaxID'] + 1);
if not ADOQryMaxID.Eof then
ADOQryExpert.FieldValues['专家ID']:=IntToStr( StrToInt(ADOQryMaxID.FieldValues['专家ID'])+1 )
else
ADOQryExpert.FieldValues['专家ID']:='1'; //编号从 1 开始
ADOQryExpert.FieldValues['状态']:= varToStr(DBComboBox2.Items[0]);
ADOQryExpert.FieldValues['性别']:= varToStr(DBComboBox1.Items[0]);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -