#ifndef __ADO_IMPL_HEADER_20150822__ #define __ADO_IMPL_HEADER_20150822__ /************************************************************* /* Copyright (C), 2014-2020, lyfz. Co., Ltd. /* 文件名: **.h /* 作者: Jeff.w /* 创建日期: 2015-08-22 /* 版本号: V1.0 /* 描述: 数据库统一接口 /* 其它: /* 主要类模块: /* 历史修改记录: /* 作者 时间 版本 描述 /* Jeff.w 15/08/22 1.0 创建这个模块 ***************************************************************/ #pragma once #include "ADODatabase.h" #include "ADORecordset.h" typedef struct __ST_DATABASEINFO__ { //TCHAR szProvider[MAX_PATH]; // 数据库引擎; TCHAR szDataSource[MAX_PATH]; // 数据库源地址; TCHAR szDatabaseTCPPort[MAX_PATH]; // 数据库TCP端口; TCHAR szDatabaseAccount[MAX_PATH]; // 数据库登录账户; TCHAR szDatabasePassword[MAX_PATH]; // 数据库账户密码; TCHAR szDatabaseName[MAX_PATH]; // 数据库名称; Initial Catalog TCHAR szDatabaseFile[MAX_PATH]; // 数据库文件; 用于Access之类的桌面数据库,不用于网络; __ST_DATABASEINFO__() { memset(szDataSource,0,sizeof(TCHAR)*MAX_PATH); memset(szDatabaseTCPPort,0,sizeof(TCHAR)*MAX_PATH); memset(szDatabaseAccount,0,sizeof(TCHAR)*MAX_PATH); memset(szDatabasePassword,0,sizeof(TCHAR)*MAX_PATH); memset(szDatabaseName,0,sizeof(TCHAR)*MAX_PATH); memset(szDatabaseFile,0,sizeof(TCHAR)*MAX_PATH); } }STDatabaseInfo,*pSTDatabaseInfo; class CADOBaseImpl { protected: BOOL m_bOpen; CRITICAL_SECTION m_csAdo; CADODatabase *m_pADODatabase; TCHAR m_szConnectString[1024]; public: CADOBaseImpl(void); ~CADOBaseImpl(void); public: // 打开数据库; BOOL OpenCatalog(IN STDatabaseInfo& dbInfo) ; // 关闭数据库; void CloseCatalog() ; // 执行SQL语句; INT Execute(IN LPCTSTR lpExcSQL); // 返回表记录大小; INT GetTblRecordCount(IN LPCTSTR lpTblName, IN LPCTSTR lpFilters); // 获取数据库连接状态; BOOL IsOpen() ; public: BOOL GetADODateBaseStatus(); BOOL OpenADORecordSet(IN CADORecordset *pRSet, IN LPCTSTR lpSQL); void CloseADORecordSet(IN CADORecordset* pRSet); void DeleteADORecordSet(IN CADORecordset* pRSet); }; #endif