【delphi开源代码栏目提醒】:网学会员在delphi开源代码频道为大家收集整理了ArchDataClass.pas提供大家参考,希望对大家有所帮助!
/////////////////////////////////////////////////
//本工程中的数据类,它是从Rose中分析得出的
//类的实现部分是由我们手动添加完善的用于后面的所有窗体部分
//////////////////////////////////////////////////
unit ArchDataClass;
interface
uses MainForm,ArchMain,AccountMain,DepartmentMain,ArchDataModule,windows, Variants,SysUtils,DB;
type
DepDBManager = class;
DepartmentInfo = class;
SystemDBManager = class;
StuffDBManager = class;
InputStuffInfo = class;
ConditionInfo = class;
AccountDBManager = class;
UserAccount = class;
// 部门数据库的管理类
DepDBManager = class
public
// 添加一个新的部门
procedure AddNewDep(Department : DepartmentInfo);
// 显示现有库中的所有部门信息
procedure ShowDepRecords;
// 选择一个部门,没有具体实现,Delphi的Grid控件实现了这一功能
procedure SelectDepRecord;
// 删除一个部门
procedure DelDepartment;
// 修改一个部门信息
procedure ModifyDepInfo(Department : DepartmentInfo);
// 检查库中是否已经存在当前将要输入的部门
function IsExist(var DepName: String) :integer;
end;
// 用来保存输入部门信息的数据类
DepartmentInfo = class
public
// 部门名称
DepartName : String;
// 部门领导人
DepLeader : String;
public
// 将输入窗体中的数据保存到数据对象中
procedure SetDepartmentInfo;
// 将选定的部门信息加载到输入窗体中
procedure LoadDepInfo;
//清楚部门输入窗体中的内容
procedure ZeroDepInput;
//合法性检查
function ValidCheck : boolean;
end;
//
系统数据库维护类
SystemDBManager = class
public
//恢复数据库
procedure RestoreSysDB;
//备份数据库
procedure BackupSysDB;
end;
//管理成员入库的管理类
StuffDBManager = class
public
//向库中新加一条记录
procedure AddModifyStuffInfo(opid :integer;stuffInfo :InputStuffInfo);
//删除一条记录
procedure DelStuffInfo;
end;
// 保存输入窗体中信息的数据类
InputStuffInfo = class
public
//档案号
ArchiveNo :Integer;
// 名称
Name : String;
// 性别
Gender : string ;
// 出生日期
Birthday : TdateTime;
// 学历
Degree : String;
// 职位
Position : String;
// 签约时间
JobStartDate : TDateTime;
// 合同终止时间
JobEndDate : TDateTime;
//住址
Address : String;
//电话
TelNo : string;
//创建者
Creater : String;
//创建日期
CreateDate :TDateTime;
// 部门
DepNo : Integer;
//备注
Note : AnsiString;
public
// 将输入窗体中的数据保存到数据对象中
procedure SetStuffInfo;
// 将选定的记录加载到输入窗体中
procedure LoadStuffInfo;
//清空输入窗体中的内容
Procedure ZeroStuffInput;
//检查输入数据的合法性
function ValidCheck : integer;
end;
// 保存输入条件的数据类
ConditionInfo = class
public
// 名称
Name : String;
// 性别
Gender : String;
// 学历
Degree : String;
// 签约时间
JobStartDate : TDateTime;
//截止时间
JobEndDate :TDateTime;
// 档案号
ArchiveNo : Integer;
// 部门号
Department : String;
// 年龄
Birthday : TDateTime;
// 建档时间
CreateTime : TDateTime;
public
//输入住处的合法性检查
function ValidCheck : integer;
//将输入框中的信息加载到本类中
procedure SetCondition;
//清空条件输入框中的内容
procedure ZeroContionInput;
end;
// 用来完成数据库操作的管理类
AccountDBManager = class
public
// 添加一条新的帐户记录
procedure AddNewAccount(Account :UserAccount);
// 删除一条现有的帐户记录
procedure DeleteAccount;
// 修改一条现有的帐户记录
procedure ModifyAccount(Account : UserAccount);
// 查询帐户记录
function SearchAccount(AccountInfo: UserAccount): Integer;
//检查是否已存在该帐户
function IsExist(var AccountName : String) : Integer;
end;
// 用来保存输入帐户信息的类
UserAccount = class
public
//帐户名
UserName : String;
//密码
Pass
word : String;
//帐户权利
Right : String;
public
// 将输入窗体中的数据填入保存帐户信息的数据对象中
procedure SetUserAccount;
// 设置登录角色的操作权限
procedure SetRight(const opRight :boolean);
//将指定记录赋给输入窗体
procedure LoadAccountInput;
//清空输入窗体中的内容
procedure ZeroAccountInput;
//核法性检查
function ValidCheck :boolean;
end;
implementation
//添加新部门
procedure DepDBManager.AddNewDep(Department : DepartmentInfo);
begin
MainDataModule.DepTable.Insert();
MainDataModule.DepTable.FieldByName('DepName').AsString := Department.DepartName;
MainDataModule.DepTable.FieldByName('DepLeader').AsString := Department.DepLeader;
MainDataModule.DepTable.FieldByName('DepMemberNo').AsInteger := 1;
end;
//删除指定部门
procedure DepDBManager.DelDepart