⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 expertadd.~pas

📁 专家抽取系统1.0 是用Delphi6.0 开发的一款用于招投标,评审过程中从专家库中抽取专家的软件。可以将抽取结果导入到Excel或Word文档中
💻 ~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 + -