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

📄 dbaccessunit.h

📁 指纹门禁机管理系统
💻 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 + -