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

📄 datatable.~pas

📁 这是一个小型的工资管理系统
💻 ~PAS
字号:
unit datatable;

interface

uses
  SysUtils, Classes, DB, DBTables;

type
  TDataModule1 = class(TDataModule)
    Table1: TTable;
    procedure checkdatatable;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  DataModule1: TDataModule1;

implementation
 uses main1;
{$R *.dfm}

procedure Tdatamodule1.checkdatatable;
var
   monthtable:ttable;
   lstable:ttable;
begin
    //检测操作员数据表
{table1.tablename:='operator';
  if not table1.exists then
    begin
      //不存在,重新定义和创建
table1.FieldDefs.clear;
//定义字段name
   with table1.fielddefs.addfielddef do
    begin
      //定义字段名
    name:='name';
   //定义字段类型
       datatype:=ftstring;
       //定义字段宽度
       size:=8;
       //该字段是否允许为空
       required:=true;
   end;
   //定义字段password
  with table1.fielddefs.addfielddef do
   begin
      name:='password';
      datatype:=ftstring;
      size:=8;
   end;
   //定义字段department
   with table1.fielddefs.addfielddef do
   begin
      name:='department';
      datatype:=ftstring;
      size:=20;
   end;
   //定义字段time
   with table1.fielddefs.addfielddef do
   begin
     name:='time';
     datatype:=ftdate;
   end;
   //定义字段right_1
   with table1.fielddefs.addfielddef do
   begin
     name:='right_1';
     datatype:=ftboolean;
   end;
   with table1.fielddefs.addfielddef do
   begin
     name:='right_2';
     datatype:=ftboolean;
   end;
   with table1.fielddefs.addfielddef do
   begin
     name:='right_3';
     datatype:=ftboolean;
   end;
   table1.indexdefs.clear;
   //定义主索引
   with table1.indexdefs.AddIndexDef do
   begin
     name:='';
     fields:='name';
       options:=[ixprimary];
   end;
   //创建数据表
   table1.createtable;
   table1.active:=true;
   //添加第一条系统管理员信息
   table1.append;
   table1.edit;
   table1.fieldbyname('name').asstring:='admin';
   table1.fieldbyname('password').asstring:='12345678';
   table1.fieldbyname('department').asstring:='财务处';
   table1.fieldbyname('time').asdatetime:=date();
   table1.fieldbyname('right_1').asboolean:=true;
   table1.fieldbyname('right_2').asboolean:=true;
   table1.fieldbyname('right_3').asboolean:=true;
   table1.post;
   table1.active:=false;
   end; }
   //检测当年历史资料库
   table1.DatabaseName:='DBMS';

   table1.tablename:=str;
   if not table1.exists then
   begin
   lstable:=ttable.Create(self);
   lstable.DatabaseName:='DBMS';
   lstable.TableName:='is'+inttostr(year);
   table1.fielddefs.clear;
     //工资编号
     with table1.fielddefs.addfielddef do
     begin
       name:='number';
       datatype:=ftstring;
       size:=6;
       required:=true;
     end;
     //职工名称
     with table1.fielddefs.addfielddef do
     begin
       name:='name';
       datatype:=ftstring;
       size:=8;
       required:=true;
     end;
     with table1.fielddefs.addfielddef do
     begin
       name:='operator';
       datatype:=ftstring;
       size:=8;
       required:=true;
     end;
     with table1.fielddefs.addfielddef do
     begin
       name:='base_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='float_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='allowence_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='age_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='award';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='addition_award';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='insurance';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='rent';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='detain';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='sum';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='note';
       datatype:=ftfloat;
       size:=20;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='operator_data';
       datatype:=ftfloat;
       required:=true;
     end;
     //其他工资
      with table1.fielddefs.addfielddef do
     begin
       name:='rest';
       datatype:=ftfloat;
       required:=true;
     end;
     //扣税
      with table1.fielddefs.addfielddef do
     begin
       name:='tax';
       datatype:=ftfloat;
       required:=true;
     end;

     //实发工资
      with table1.fielddefs.addfielddef do
     begin
       name:='real_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      table1.indexdefs.clear;
   //定义主索引
   with table1.indexdefs.AddIndexDef do
   begin
     name:='';
     fields:='number';
       options:=[ixprimary];
   end;
     //table1.createtable;
     end;
      //当月实发工资表
     table1.tablename:='month_salary';
     if not table1.exists then
     begin
     monthtable:=ttable.Create(self);
     monthtable.DatabaseName:='DBMS';
     monthtable.TableName:='month_salary';

      table1.fielddefs.clear;
      with table1.fielddefs.addfielddef do
     begin
       name:='number';
       datatype:=ftstring;
       size:=6;
       required:=true;
     end;
     //职工名称
     with table1.fielddefs.addfielddef do
     begin
       name:='name';
       datatype:=ftstring;
       size:=8;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='salary_date';
       datatype:=ftstring;
       size:=2;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='operator';
       datatype:=ftstring;
       size:=8;
       required:=true;
     end;
     with table1.fielddefs.addfielddef do
     begin
       name:='base_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='float_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='allowence_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='age_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='award';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='addition_award';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='insurance';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='rent';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='detain';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='sum';
       datatype:=ftfloat;
       required:=true;
     end;
     //实发工资
      with table1.fielddefs.addfielddef do
     begin
       name:='real_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='note';
       datatype:=ftfloat;
       size:=40;
     end;
     //其他工资
      with table1.fielddefs.addfielddef do
     begin
       name:='rest';
       datatype:=ftfloat;
       required:=true;
     end;
     table1.indexdefs.clear;
     with table1.indexDefs.AddindexDef do
     begin
       name:='';
     fields:='number';
       options:=[ixprimary];
     end;
      //table1.createtable;
     end;
     //职工资料与工资数据表
     {table1.tablename:='salary';
     if not table1.exists then
     begin
       table1.fielddefs.clear;
       //工资编号
     with table1.fielddefs.addfielddef do
     begin
       name:='number';
       datatype:=ftstring;
       size:=6;
       required:=true;
     end;
     //职工名称
     with table1.fielddefs.addfielddef do
     begin
       name:='name';
       datatype:=ftstring;
       size:=8;
       required:=true;
     end;
     //性别
     with table1.fielddefs.addfielddef do
     begin
       name:='sex';
       datatype:=ftstring;
       size:=2;
       required:=true;
     end;
     //身份证号
     with table1.fielddefs.addfielddef do
     begin
       name:='id';
       datatype:=ftstring;
       size:=18;
       required:=true;
     end;
     //出生
     with table1.fielddefs.addfielddef do
     begin
       name:='birthdate';
       datatype:=ftdate;
       required:=true;
     end;
     //参加工作时间
     with table1.fielddefs.addfielddef do
     begin
       name:='workdate';
       datatype:=ftdate;
       required:=true;
     end;
     with table1.fielddefs.addfielddef do
     begin
       name:='operatordate';
       datatype:=ftdate;
       required:=true;
     end;
     //职称
     with table1.fielddefs.addfielddef do
     begin
       name:='job';
       datatype:=ftstring;
       size:=8;
       required:=true;
     end;
     //单位
     with table1.fielddefs.addfielddef do
     begin
       name:='office';
       datatype:=ftstring;
       size:=30;
       required:=true;
     end;
     with table1.fielddefs.addfielddef do
     begin
       name:='opetator';
       datatype:=ftstring;
       size:=8;
       required:=true;
     end;
     with table1.fielddefs.addfielddef do
     begin
       name:='base_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='float_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='allowance_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='age_salary';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='award';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='addition_award';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='insurance';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='rent';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='detain';
       datatype:=ftfloat;
       required:=true;
     end;
      with table1.fielddefs.addfielddef do
     begin
       name:='sum';
       datatype:=ftfloat;
       required:=true;
     end;
     //实发总额
      with table1.fielddefs.addfielddef do
     begin
       name:='real_salary';
       datatype:=ftfloat;
       required:=true;
     end;
     //扣税
      with table1.fielddefs.addfielddef do
     begin
       name:='tax';
       datatype:=ftfloat;
       required:=true;
     end;
     //备注
      with table1.fielddefs.addfielddef do
       begin
       name:='note';
       datatype:=ftfloat;
       size:=40;
       end;
     //字段:冻结标志
      with table1.fielddefs.addfielddef do
       begin
          name:='Enabled';
          datatype:=ftboolean;
          required:=true;
       end;
       table1.IndexDefs.Clear;
       with table1.IndexDefs.AddIndexDef do
        begin
           name:='';
           fields:='number';
           options:=[ixprimary];
        end;
        table1.CreateTable;
        end;

     //所得税率表
     table1.TableName:='tax';
     if not table1.Exists then
     begin
      table1.FieldDefs.Clear;
      //字段分界点
      with table1.FieldDefs.AddFieldDef do
       begin
         name:='division';
         datatype:=ftinteger;
         required:=true;
       end;
      //字段:税率
      with table1.FieldDefs.AddFieldDef do
       begin
         name:='rate';
         datatype:=ftinteger;
         required:=true;
       end;
      //字段:说明
      with table1.FieldDefs.AddFieldDef do
       begin
         name:='note';
         datatype:=ftinteger;
         size:=40;
         required:=true;
       end;
       table1.IndexDefs.Clear;
       with table1.IndexDefs.addindexdef do
         begin
          name:='';
          fields:='division';
          options:=[ixprimary];
        end;
        table1.CreateTable;
       end;}
     end;
end.

⌨️ 快捷键说明

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