WxAdoImpl.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[9/20/2016];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __ODBCPTR_20160920__
  19. #define __ODBCPTR_20160920__
  20. //class CDatabase;
  21. #include "IWxAdoInterface.h"
  22. #include "CUniqueId.h"
  23. #pragma once
  24. class /*AFX_EXT_CLASS*/ CWxAdoImpl:public IWxAdoInterface
  25. {
  26. CWxAdoImpl(void);
  27. public:
  28. ~CWxAdoImpl(void);
  29. ULONG STDMETHODCALLTYPE AddRef( );
  30. ULONG STDMETHODCALLTYPE Release( );
  31. HRESULT STDMETHODCALLTYPE QueryInterface(REFIID refiid, void **ppvObject);
  32. // 获取实例指针;
  33. static CWxAdoImpl* GetInstance(){
  34. if ( m_pInstance == NULL )
  35. m_pInstance = new CWxAdoImpl;
  36. return m_pInstance;
  37. }
  38. private:
  39. volatile LONG m_nRef;
  40. volatile LONG m_nObjRef;
  41. // 单例实例;
  42. static CWxAdoImpl* m_pInstance;
  43. CUniqueId m_uniqueid;
  44. void SolveDBError( IN CONST DWORD &dwError, IN LPVOID pDBConn);
  45. //template<typename T> BOOL GetFiedValue(IN _RecordsetPtr rst, IN LPCTSTR lpFiedName, T &value);
  46. public:
  47. // 初始化所有连接;
  48. DWORD InitializePool(
  49. IN LPCTSTR lpDBType,
  50. IN LPCTSTR lpDBSource,
  51. IN CONST DWORD &dwDBPort,
  52. IN LPCTSTR lpDBAccount,
  53. IN LPCTSTR lpPassWord,
  54. IN LPCTSTR lpDBName,
  55. IN CONST INT &nMinConn = 1,
  56. IN CONST INT &nMaxConn = 5
  57. );
  58. // 关闭所有连接;
  59. void ReleasePool();
  60. BOOL ExecuteSQL( IN LPCTSTR lpExcuteSQL, IN CONST DWORD &dwTimeOut = 30000 );
  61. BOOL IsUserExist( IN LPCTSTR lpPhone, IN LPCTSTR lpPassword, OUT LPVOID lpOutValue,IN CONST DWORD &dwTimeOut = 3000 );
  62. INT QueryUserDetail(IN LPCTSTR lpPhone, IN LPVOID lpOutValue, IN CONST DWORD& dwTimeOut = 3000);
  63. BOOL AddCustomer(IN LPVOID lpCustomerInfo, IN CONST DWORD& dwTimeOut = 3000);
  64. BOOL AddType(IN LPVOID lpStudioInfo, IN CONST DWORD& dwTimeOut = 3000);
  65. BOOL AddReply(IN LPVOID lpStudioInfo, IN CONST DWORD& dwTimeOut = 3000);
  66. BOOL UpdateCustomer(IN LPVOID lpCustomerInfo, IN CONST DWORD& dwTimeOut = 3000);
  67. };
  68. #endif