📄 dbaccessunit.h
字号:
//---------------------------------------------------------------------------
/*
* Copyright (c) 2008,杭州中正生物认证技术有限公司
* All rights reserved.
* 文件名称:DBAccessUnit.h
* 文件标识:见配置管理计划书
* 摘 要:
本头文件定义了门禁客户端软件 与数据库交互、数据存储的类。
设 计:王从骏
代 码:王从骏 任良斌
*/
//---------------------------------------------------------------------------
#ifndef DBAccessUnitH
#define DBAccessUnitH
#include <vcl.h>
#include <ComCtrls.hpp>
#include "EnguardCommon.h"
#include "BaseConvertorUnit.h"
//TreeView结点图标
typedef enum
{
RootNode_ICON =0,
SelectedRootNode_ICON=1,
DeptNode_ICON = 2,
SelectedDeptNode_ICON=3
}TreeNodeICON_T;
typedef struct
{
int UserID; //员工ID
AnsiString EmpName; //员工名称
int DeptID; //所属部门
AnsiString DeptName; //所属部门名称
}UserSimpleInfo_T;
class TDBAccess
{
private:
ReturnValue_T aRV;
TDataConvertor aConvertor;
void AddChildNodes(TTreeView* iTreeView,TTreeNode* iParsentNode,int iParsetID);
int ExecuteSQL(AnsiString iSQL);
bool EncodeData(BYTE* iInData,int iInDataSize,AnsiString& oOutString);
bool DecodeData(AnsiString iInString,BYTE* oOutData,int* oOutDataSize);
public:
TDBAccess();
~TDBAccess();
//设备数据操作
bool UpdateDeviceState(int iDeviceID,int iState);//修改设备状态
int GetDeviceInfo(int iDeviceID,DeviceInfo_T& oDeviceInfo);
int GetDeviceList(DeviceInfoArray_T& oDeviceInfoList); //得到设备链接列表
int InsertDeviceInfo(DeviceInfo_T iDeviceInfo);
int UpdateDeviceInfo(int iDeviceID,DeviceInfo_T iDeviceInfo);
int DeleteDeviceInfo(int iDeviceID);
bool IsExistsDeviceInfo(int iDeviceID);
//部门数据操作
int GetDeptTree(TTreeView* oDeptTree);
int GetDeptInfo(int iDeptID,DeptInfo_T* oDeptInfo);
int InsertDeptInfo(DeptInfo_T iDeptInfo);
int UpdateDeptInfo(int iDeptID,DeptInfo_T iDeptInfo);
int DeleteDeptInfo(int iDeptID);
AnsiString GetDeptName(int iDeptID);
int GetDeptUserCount(int iDeptID); //得到部门内员工数
int GetFixedDeptID(DeptInfo_T* oFixedDeptInfo); //得到固定部门信息
int InitFixedDept(); //初始化固定部门编号
bool IsDeptIDExist(int iDeptID); //判断部门ID号是否存在
//员工数据操作
int GetUserMaxID();//获取员工最大ID号
bool IsUserIDExist(int iUserID);//判断员工ID号是否存在
int InsertUserInfo(UserInfo_T iUserInfo);
int UpdateUserInfo(int UserID,UserInfo_T iUserInfo);
int DeleteUserInfo(int UserID);
int ClearUserInfo();
int GetUserList(int iDeptID,UserInfoExArray_T& oUserList);
int GetUserInfo(int iUserID,UserInfoEx_T& oUserInfo);
int GetUserSimpleInfo(int iUserID,UserSimpleInfo_T& oSimpleInfo);
bool GetUserPassword(int iUserID,AnsiString& oPassword);
int UpdateUserPassword(int iUserID,AnsiString iPassword);
int SetUserRole(int iUserID,char iRoleVal);
int SetUserDept(int iUserID,int iDeptID);
int UpdateUserFlag(int iUserID,int iFlag);
//员工指纹数据操作
int GetTemplateCount(int iUserID);//获取员工指纹数
int UpdateTemplateCount(int iUserID,int iFingerCount);//修改员工指纹数
int InsertTemplateInfo(TemplateInfo_T iTemplateInfo);
int DeleteTemplateInfo(int iUserID,int iFingerIndex);//删除一个指纹
int DeleteTemplateOneUser(int iUserID);//删除一个员工的所有指纹
int ClearTemplateInfo();
int GetTemplateInfoList(int iUserID,TemplateInfoArray_T &oTemplateInfoList);//得到指纹数据列表
//日志管理
int InsertLog(LogInfoBase_T iLogData);
int ClearEventLog();
int ClearEventLog(int iDeviceID);
int GetMaxLogID(int iDeviceID,int& iLogID);
int ClearOperateLog();
int ClearOperateLog(int iDeviceID);
bool IsExistLog(int iDeviceID,int iLogID);//判断是否存在这条日志
//门禁规则数据
int InsertRoleData(EnguardRole_T iRole);
int ReadRoleData(EnguardRole_T* oRole);
int UpdateRoleData(EnguardRole_T iRole);
//员工临时表数据操作
int InsertUserInfo_T(UserInfo_T iUserInfo);
int ClearUserInfo_T();
int GetUserInfo_T(int iUserID,UserInfo_T& oUserInfo);
//员工临时指纹表数据操作
int InsertTemplateInfo_T(TemplateInfo_T iTemplateInfo);
int ClearTemplateInfo_T();
int GetTemplateInfoList_T(int iUserID,TemplateInfoArray_T &oTemplateInfoList);//得到指纹数据列表
int GetTemplateCount_T(int iUserID);//获取员工指纹数
int UpdateTemplateCount_T(int iUserID,int iFingerCount);//修改员工指纹数
bool IsExistRoleData();
};
//---------------------------------------------------------------------------
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -