AdoImpl.h 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*************************************************************
  2. /* Copyright (C), 2014-2020, lyfz. Co., Ltd.
  3. /* 文件名: AdoImpl.h
  4. /* 作者: Jeff.w
  5. /* 创建日期: 2014-08-16
  6. /* 版本号: V1.0
  7. /* 描述: 核心层底,数据库ADO编程
  8. /* 其它:
  9. /* 主要类模块:
  10. /* 历史修改记录:
  11. /* 作者 时间 版本 描述
  12. /* Jeff.w 14/08/18 1.0 创建这个模块
  13. ***************************************************************/
  14. #ifndef __ADO_IMPL_HEADER__
  15. #define __ADO_IMPL_HEADER__
  16. #pragma once
  17. //#include <list>//随存随取,使用vector比较好;
  18. #include <vector>
  19. using namespace std;
  20. #include "AdoDef.h"
  21. #include "ADODatabase.h"
  22. #include "ADORecordset.h"
  23. #include "ADOCommand.h"
  24. // Jeff.一个数据库只有一个AdoImpl实例;
  25. // 该类使用线程,监测线程的作用是判断数据库是否断开并重连;
  26. // 未对二进制文件支持操作;
  27. class AdoImpl
  28. {
  29. public:
  30. AdoImpl(void);
  31. virtual ~AdoImpl(void);
  32. void SetConnectString(IN const int &nType,IN const STAdoDatabaseInfo &tagAodDatabaseInfo);
  33. bool opendatabase(IN const TCHAR *pConnectString=NULL);
  34. void closedatabase();
  35. int Execute(TCHAR *pSQL);//不返回记录集;
  36. bool GetADODateBaseStatus();
  37. CADODatabase *GetAdoDatabase(){return m_pADODatabase;};
  38. DWORD GetTableRecordCount(__in const TCHAR *pTableName); // 返回要查询的表的记录数;
  39. int GetClientServiceViewData(__in const TCHAR *pSQL, __out CArray<CStringArray,CStringArray>& strArray,__in const TCHAR *pfilter=NULL);
  40. INT GetClientServiceViewDataEx(__in const TCHAR *pSQL, __out CArray<CStringArray,CStringArray>& strArray,__in const TCHAR *pfilter=NULL);
  41. INT GetCase200And201Data(IN LPCTSTR lpSQL, OUT CArray<CStringArray,CStringArray>& AryData, IN LPCTSTR lpFilters = NULL);
  42. INT GetRenyuanData(IN LPCTSTR lpSQL, OUT CArray<CStringArray,CStringArray>& AryData, IN LPCTSTR lpFilters = NULL);
  43. private:
  44. CRITICAL_SECTION m_csAdo;
  45. TCHAR m_szConnectString[1024];// 暂使用1024魔数,后期升级再定义;
  46. CADODatabase *m_pADODatabase;
  47. bool OpenADORecordSet(CADORecordset *pRSet,const TCHAR *pSQL);
  48. void CloseADORecordSet(CADORecordset* pRSet);
  49. void DeleteADORecordSet(CADORecordset* pRSet);
  50. };
  51. #endif