📄 datatable.~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 + -