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

📄 workageinput.pas

📁 工资管理系统 可以用语SQL数据库课程设计
💻 PAS
字号:
unit workageinput;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ComCtrls, ExtCtrls, DB, ADODB,workage_unit,workagefind,basedata_unit;

type
  Tworkagefrm = class(TForm)
    Label1: TLabel;
    Bevel1: TBevel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    unit_nameedit: TEdit;
    work_timeedit: TEdit;
    level1edit: TEdit;
    dutyedit: TEdit;
    remarkedit: TEdit;
    begin_datepicker: TDateTimePicker;
    over_datepicker: TDateTimePicker;
    New_Workage: TButton;
    Reset_Workage: TButton;
    cancel_btn: TButton;
    Label11: TLabel;
    Label12: TLabel;
    UpDown1: TUpDown;
    UpDown2: TUpDown;
    worker_idedit: TComboBox;
    worker_nameedit: TLabel;
    procedure cancel_btnClick(Sender: TObject);
    procedure New_WorkageClick(Sender: TObject);
    procedure work_timeeditClick(Sender: TObject);
    procedure Reset_WorkageClick(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure worker_ideditChange(Sender: TObject);
  private
    workage:Tworkage;
    basedata:Tbasedata;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  workagefrm: Tworkagefrm;

implementation

{$R *.dfm}

procedure Tworkagefrm.cancel_btnClick(Sender: TObject);
begin
worker_idedit.Text :='';worker_nameedit.Caption :='';
unit_nameedit.Text :='';
begin_datepicker.Date :=strtodate(formatdatetime('yyyy-mm-dd',now));
over_datepicker.Date :=strtodate(formatdatetime('yyyy-mm-dd',now));
work_timeedit.Text :='';dutyedit.Text :='';
level1edit.Text :='';remarkedit.Text :='';
workagefrm.Close;
end;

procedure Tworkagefrm.New_WorkageClick(Sender: TObject);
var
 t1,t2,insertsql:string;
begin
//录入时员工编号和单位名称不能为空
if  (worker_idedit.Text='') or (unit_nameedit.Text='')  then
begin
showmessage('员工编号和工作单位不能为空!');
exit;
end;
//查询要修改的记录是否存在
    if workage.WorkAgeRec(worker_idedit.Text,unit_nameedit.Text)=false then
    begin
      showmessage('对不起,该记录不存在,修改失败!');
      exit;
    end;
//时间类型值的转化
 t1:=datetostr(begin_datepicker.Date);
 t2:=datetostr(over_datepicker.Date );
//赋值插入SQL语句
insertsql:='insert into work_age(worker_id,unit_name,'
+'worker_name,duty,begin_date,over_date,work_time,level1,remark'
+')values('''+worker_idedit.Text+''','''+unit_nameedit.Text+''','
+''''+worker_nameedit.Caption+''','''+dutyedit.Text+''','''+t1+''','
+''''+t2+''','''+work_timeedit.Text+''','''+level1edit.Text+''''
+','''+remarkedit.Text+''')';
//执行插入操作过程
workage.RecInsert(insertsql);
showmessage('保存完毕!');
  //更新查询显示
  workagefindfrm.WorkerList.OnClick(Sender);
end;


procedure Tworkagefrm.work_timeeditClick(Sender: TObject);
var
 int1,int2:integer;
begin
 int1:=strtoint(formatdatetime('yyyy',begin_datepicker.DateTime));
  int2:=strtoint(formatdatetime('yyyy',over_datepicker.DateTime));
  if (int2-int1)<0  then
  begin
  showmessage('起始日期或结束日期有误!');
  exit;
  end;
  work_timeedit.Text :=inttostr(int2-int1);
end;

procedure Tworkagefrm.Reset_WorkageClick(Sender: TObject);
var
 t1,t2,modsql:string;
begin
  if application.MessageBox('要修改吗?','提示:',mb_yesno+mb_iconquestion)=idyes then
  begin
    //修改时必须输入的项
    if  (worker_idedit.Text='') or (unit_nameedit.Text='')  then
    begin
      showmessage('请输入要修改记录的员工编号和单位名称!');
      exit;
    end;
    //时间类型转换
    t1:=datetostr(begin_datepicker.Date);
    t2:=datetostr(over_datepicker.Date );
    //通过异常处理判断输入是否有误
    try
      strtoint(work_timeedit.Text);
    except
      showmessage('折算工龄输入有误!');
      exit;
    end;
    //查询要修改的记录是否存在
    if workage.WorkAgeRec(worker_idedit.Text,unit_nameedit.Text)=false then
    begin
      showmessage('对不起,该记录不存在,修改失败!');
      exit;
    end;
    //赋值修该SQL语句
    modsql:='update work_age set begin_date='''+t1+''','
    +'over_date='''+t2+''',worker_name='''+worker_nameedit.Caption+''','
    +'work_time='''+work_timeedit.Text+''',duty='''+dutyedit.Text+''','
    +'level1='''+level1edit.Text+''',remark='''+remarkedit.Text+''' where worker_id='''+worker_idedit.Text+''' '
    +' and unit_name='''+unit_nameedit.Text+'''';
    //执行修改操作
    workage.RecUpdate(modsql);
    showmessage('修改完成!');
    //更新查询显示
    workagefindfrm.WorkerList.OnClick(Sender);
  end;
end;

procedure Tworkagefrm.FormActivate(Sender: TObject);
begin
  //创建类的实例
  workage:=Tworkage.create ;
  basedata:=Tbasedata.create;
  //获取员工编号列表
  worker_idedit.Items:=basedata.GetIdLists();
  //取出对应的字段值在文本框中显示出来
  try
    worker_idedit.Text:=workage.GetWorkerId(workagefind.reid);
    unit_nameedit.Text:=workage.GetUnitName(workagefind.reid);
    worker_nameedit.Caption :=workage.GetWorkerName(workagefind.reid);
    begin_datepicker.Date:=strtodate(workage.GetBeginDate(workagefind.reid));
    over_datepicker.Date :=strtodate(workage.GetOverDate(workagefind.reid) ) ;
    work_timeedit.Text :=workage.GetWorkTime(workagefind.reid) ;
    dutyedit.Text :=workage.GetDuty(workagefind.reid);
    level1edit.Text :=workage.GetLevel1(workagefind.reid);
    remarkedit.Text :=workage.GetRemark(workagefind.reid);
  except
    exit;
  end;
end;

procedure Tworkagefrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  //释放类的实例
  workage.Free;
  basedata.Free;
end;

procedure Tworkagefrm.worker_ideditChange(Sender: TObject);
begin
  //根据员工编号查询员工姓名
  worker_nameedit.Caption:=basedata.GetWorkerName(worker_idedit.Text);
end;

end.

⌨️ 快捷键说明

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