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

📄 add_error.txt

📁 人事管理
💻 TXT
字号:
---------------------------
Debugger Exception Notification
---------------------------
Project rsgl.exe raised exception class EOleException with message '标准表达式中数据类型不匹配。'. Process stopped. Use Step or Run to continue.
---------------------------
OK   Help   
---------------------------
unit employee;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, ComCtrls, Buttons, ToolWin, Grids, DBGrids,
  DB, ADODB;

type
  Tfrmemployee = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: 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;
    Panel1: TPanel;
    Label15: TLabel;
    edid: TEdit;
    edname: TEdit;
    cmbsex: TComboBox;
    cmbjg: TComboBox;
    cmbmz: TComboBox;
    cmbhf: TComboBox;
    edposition: TEdit;
    cmbworkkind: TComboBox;
    edbirthday: TEdit;
    DateTimePicker1: TDateTimePicker;
    edbm: TComboBox;
    edrcrq: TEdit;
    DateTimePicker2: TDateTimePicker;
    ToolBar1: TToolBar;
    btnadd: TBitBtn;
    btnmodify: TBitBtn;
    btndel: TBitBtn;
    btnfind: TBitBtn;
    btnrefresh: TBitBtn;
    btncancel: TBitBtn;
    GroupBox2: TGroupBox;
    StatusBar1: TStatusBar;
    dbgdshow: TDBGrid;
    ygphoto: TImage;
    ADOQuery1: TADOQuery;
    DataSource1: TDataSource;
    Label16: TLabel;
    cmbeducation: TComboBox;
    edphone: TEdit;
    edjy: TEdit;
    procedure btncancelClick(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormShow(Sender: TObject);
    procedure btnrefreshClick(Sender: TObject);
    procedure btnaddClick(Sender: TObject);
    procedure DateTimePicker1CloseUp(Sender: TObject);
    procedure DateTimePicker2CloseUp(Sender: TObject);
    //procedure edphoneKeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmemployee: Tfrmemployee;

implementation

uses datarsgl;

{$R *.dfm}

procedure Tfrmemployee.btncancelClick(Sender: TObject);
begin
close; //退出当前操作
end;

procedure Tfrmemployee.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
action:=cafree; //关闭当前子窗口
end;

procedure Tfrmemployee.FormShow(Sender: TObject);
begin
with adoquery1 do
begin
close;
sql.clear;
sql.Add('select * from employeer');
open;
active:=true;
if RecordCount=0 then
begin
showmessage('对不起,您的人事库存在0条记录。请增加人事资料记录!');
edid.SetFocus;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
end
else
dbgdshow.DataSource:=datasource1;
dbgdshow.Columns[0].Field:=datasource1.DataSet.FieldByName('number');
dbgdshow.Columns[0].Width:=datasource1.DataSet.Fields[0].DisplayWidth+50;
dbgdshow.Columns[1].Field:=datasource1.DataSet.FieldByName('name');
dbgdshow.Columns[1].Width:=datasource1.DataSet.Fields[1].DisplayWidth+40;
dbgdshow.Columns[2].Field:=datasource1.DataSet.FieldByName('sex');
dbgdshow.Columns[2].Width:=datasource1.DataSet.Fields[2].DisplayWidth+50;
//edid.Text:=datasource1.DataSet.FieldByName('number').AsString;
//edname.Text:=datasource1.DataSet.fieldbyname('name').AsString;
//cmbsex.Text:=datasource1.DataSet.fieldbyname('sex').AsString;
statusbar1.Panels.Items[0].Text:=datetostr(now);
statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
end;
end;

procedure Tfrmemployee.btnrefreshClick(Sender: TObject);
begin
adoquery1.Refresh;//refresh data
end;
//判断其数据记录是否为空
function isempty1(sender:tobject):boolean;
begin
if (sender is tedit) then
    if trim((sender as tedit).Text)=''then
        begin
        result:=false;
        exit;
        end;
    if (sender is tcombobox) then
    if trim((sender as tcombobox).Text)=''then
        begin
        result:=false;
        (sender as tcombobox).SetFocus ;
        exit;
        end;
    result:=true;
end;
procedure Tfrmemployee.btnaddClick(Sender: TObject);
begin
if not isempty1(edid) then
begin
showmessage('员工编号是唯一的不能为空');
end
else
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('select * from employeer where number<>'+trim(edid.Text));
open;
if recordcount>0 then  //判断是否存在相同编号记录
   begin
   showmessage('人事挡案中已存在相同编号的记录,请重新输入新的编号.');
   edid.SetFocus;
   edid.Text:='';
   exit;
   end
else
   begin
   if edname.Text='' then
      begin
      showmessage('员工姓名不能为空');
      edname.SetFocus;
      end
   else
      begin
      if not isempty1(cmbsex) then
         begin
         showmessage('员工性别不能为空');
         cmbsex.SetFocus;
         end
      else
         begin
         if not isempty1(cmbjg) then
            begin
            showmessage('员工籍贯不能为空');
            cmbjg.SetFocus;
            end
         else
            begin
            if not isempty1(cmbmz) then
               begin
               showmessage('员工民族不能为空');
               cmbmz.SetFocus;
               end
            else
               begin
               if not isempty1(cmbhf) then
                  begin
                  showmessage('员工是否结婚不能为空');
                  cmbhf.SetFocus;
                  end
               else
                  begin
                  if not isempty1(cmbeducation) then
                     begin
                     showmessage('员工现有学历不能为空');
                     cmbeducation.SetFocus;
                     end
                  else
                     begin
                     if not isempty1(edposition) then
                        begin
                        showmessage('员工所在职务不能为空');
                        edposition.SetFocus;
                        end
                     else
                        begin
                        if not isempty1(cmbworkkind) then
                           begin
                           showmessage('员工工种不能为空');
                           cmbworkkind.SetFocus;
                           end
                        else
                           begin
                           if not isempty1(edbirthday) then
                              begin
                              showmessage('员工出生日期不能为空');
                              edbirthday.SetFocus;
                              end
                           else
                              begin
                              if not isempty1(edbm) then
                                 begin
                                 showmessage('员工所属部门不能为空');
                                 edbm.SetFocus;
                                 end
                              else
                                 begin
                                 if not isempty1(edphone) then
                                    begin
                                    showmessage('员工联系电话不能为空');
                                    edphone.SetFocus;
                                    end
                                 else
                                    begin
                                    if not isempty1(edrcrq) then
                                       begin
                                       showmessage('员工入厂日期不能为空');
                                       edrcrq.SetFocus;
                                       end
                                    else
                                       begin
                                       //添加数据库新的记录
                                       append;
                                       fieldbyname('number').Asstring:=trim(edid.Text);
                                       fieldbyname('name').AsString:=trim(edname.Text);
                                       fieldbyname('sex').AsString:=trim(cmbsex.Text);
                                       fieldbyname('comefrom').AsString:=trim(cmbjg.Text);
                                       //fieldbyname('birthday').AsDateTime:=strtodatetime(trim(edbirthday.Text));
                                       fieldbyname('ygmz').AsString:=trim(cmbmz.Text);
                                       fieldbyname('education').AsString:=trim(cmbeducation.Text);
                                       fieldbyname('phone').AsString:=trim(edphone.Text);
                                       fieldbyname('isjh').AsString:=trim(cmbhf.Text);
                                       fieldbyname('worksort').AsString:=trim(cmbworkkind.Text);
                                       fieldbyname('position').AsString:=trim(edposition.Text);
                                       fieldbyname('ygbm').AsString:=trim(edbm.Text);
                                       //fieldbyname('rcrq').Asdatetime:=strtodatetime(trim(edrcrq.Text));
                                       fieldbyname('ygjy').AsString:=trim(edjy.Text);
                                       try
                                       if messagedlg('请确认输入的数据无误,然后录入数据库!',mtconfirmation,[mbYes,mbNO],0)=mryes then
                                           begin
                                           post;
                                           dbgdshow.DataSource:=datasource1;
                                           dbgdshow.Columns[0].Field:=datasource1.DataSet.FieldByName('number');
                                           dbgdshow.Columns[0].Width:=datasource1.DataSet.Fields[0].DisplayWidth+50;
                                           dbgdshow.Columns[1].Field:=datasource1.DataSet.FieldByName('name');
                                           dbgdshow.Columns[1].Width:=datasource1.DataSet.Fields[1].DisplayWidth+40;
                                           dbgdshow.Columns[2].Field:=datasource1.DataSet.FieldByName('sex');
                                           dbgdshow.Columns[2].Width:=datasource1.DataSet.Fields[2].DisplayWidth+50;
                                           statusbar1.Panels.Items[0].Text:=datetostr(now);
                                           statusbar1.Panels.Items[1].Text:='当前在职人员有:'+inttostr(recordcount)+'人';
                                           edid.Text:='';
                                           edname.Text:='';
                                           edjy.Text:='';
                                           cmbsex.Text:='';
                                           cmbmz.Text:='';
                                           cmbjg.Text:='';
                                           cmbhf.Text:='';
                                           edposition.Text:='';
                                           cmbworkkind.Text:='';
                                           edbirthday.Text:='';
                                           edbm.Text:='';
                                           edphone.Text:='';
                                           edrcrq.Text:='';
                                           cmbeducation.Text:='';
                                           end
                                       else
                                           begin
                                           showmessage('本次操作已取消');
                                           cancel;
                                           end;
                                       except   //异常处理
                                       on edatabaseerror do
                                       end;
                                         end;
                                        end;
                                       end;
                                      end;
                                     end;
                                    end;
                                   end;
                                  end;
                                 end;
                                end;
                               end;
                              end;
                             end;
                            end; 

end;
procedure Tfrmemployee.DateTimePicker1CloseUp(Sender: TObject);
begin
edbirthday.Text:=formatdatetime('yyyy-mm-dd',datetimepicker1.DateTime);
end;

procedure Tfrmemployee.DateTimePicker2CloseUp(Sender: TObject);
begin
edrcrq.Text:=formatdatetime('yyyy-mm-dd',datetimepicker2.DateTime);
end;

{procedure Tfrmemployee.edphoneKeyPress(Sender: TObject; var Key: Char);
begin
if not(key in ['0'..'9']) then
showmessage('请输入正确的数据,本项只能输入数字.');
key:=#0;
edphone.setfocus;
end;}

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -