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

📄 uadd.~pas

📁 本程序是人事管理系统.对数据进行的操作有数据更新数据查询数据删除.本程序利用DataModuleado操作数据库,通过ado+Sqlserver数据库达成人事系统的建立.
💻 ~PAS
字号:
unit UAdd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, DBCtrls,UChild, Mask;

type
  TfrmAdd = class(TfrmChild)
    Label2: TLabel;
    Label3: TLabel;
    Label1: TLabel;
    drgSex: TDBRadioGroup;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    edtPasswd: TEdit;
    deId: TDBEdit;
    deName: TDBEdit;
    edtBirthday: TDBEdit;
    dlucDept: TDBLookupComboBox;
    dlucJob: TDBLookupComboBox;
    dlucEdu_level: TDBLookupComboBox;
    deSpecialty: TDBEdit;
    deAddress: TDBEdit;
    deTel: TDBEdit;
    deEmail: TDBEdit;
    dmRemark: TDBMemo;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
  private
    procedure AddInit;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmAdd: TfrmAdd;

implementation

uses UModule,crypt,UMain;

{$R *.dfm}

procedure TfrmAdd.AddInit;
var
  counter:integer;
  id:String;
begin
  With DataModule1 do
  begin
    //生成员工号
    T_counter.Filter:='ID=''P''';
    T_counter.Filtered:=True;
    T_counter.Open;
    counter:=T_counter['COUNTER_VALUE'];
    T_counter.Close;
    id:='00000'+IntToStr(counter);
    id:='P'+Copy(id,length(id)-4,5);
    //增加新记录
    T_add_user.Open;
    T_add_user.Append;
    T_add_user['ID']:=id;
    T_add_user['SEX']:='M';
    T_add_user['STATE']:='T';
    edtPasswd.Text:=id;
  end;
end;

procedure TfrmAdd.Button1Click(Sender: TObject);
var
  passwd:String;
  counter:Integer;
begin
  if length(deName.Text)>0 then
  begin
    passwd:=edtPasswd.Text;
    //passwd:=Copy(passwd+passwd,1,10);
    passwd:=Encrypt(passwd,123);
    With DataModule1 do
    begin
      //累加员工编号计数器
      T_counter.Filter:='ID=''P''';
      T_counter.Filtered:=True;
      T_counter.Open;
      T_counter.Edit;
      T_counter['COUNTER_VALUE']:=T_counter['COUNTER_VALUE']+1;
      T_counter.Post;
      T_counter.Close;
      //增加员工个人信息记录
      T_add_user.Edit;
      T_add_user['PASSWD']:=passwd;
      T_add_user['Authority']:='3';
      T_add_user.Post;
      //获取人事变动记录号
      T_counter.Filter:='ID=''C''';
      T_counter.Filtered:=True;
      T_counter.Open;
      counter:=T_counter['COUNTER_VALUE'];
      Inc(counter);
      T_counter.Edit;
      T_counter['COUNTER_VALUE']:=counter;
      T_counter.Post;
      T_counter.Close;
      //追加人事变动记录
      T_change.Open;
      T_change.Append;
      T_change['ID']:=counter;
      T_change['PERSON']:=deName.Text;
      T_change['CHANGE']:='2';
      T_change['RECORD_TIME']:=Now;
      T_change['DESCRIPTION']:='加入公司。';

      T_change.Post;
      T_change.Close;
    end;
    AddInit;
  end;
end;

procedure TfrmAdd.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  inherited;
  Main.M_add.Enabled:=True;
  Main.TB_add.Enabled:=True;
  With DataModule1 do
  begin
    T_add_user.Cancel;
    T_add_user.Close;
  end;
end;

procedure TfrmAdd.FormCreate(Sender: TObject);
begin
  Main.M_add.Enabled:=False;
  Main.TB_add.Enabled:=False;
  Width:=272;
  Height:=469;
  With DataModule1 do
  begin
    if not T_department.Active then T_department.Open;
    if not T_job.Active then T_job.Open;
    if not T_edu_level.Active then T_edu_level.Open;
  end;
  AddInit;
end;

end.

⌨️ 快捷键说明

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