ODBCPtr.h 4.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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 "IODBCInterface.h"
  22. #pragma once
  23. class AFX_EXT_CLASS CODBCPtr:public IODBCInterface
  24. {
  25. CODBCPtr(void);
  26. public:
  27. ~CODBCPtr(void);
  28. ULONG STDMETHODCALLTYPE AddRef( );
  29. ULONG STDMETHODCALLTYPE Release( );
  30. HRESULT STDMETHODCALLTYPE QueryInterface(REFIID refiid, void **ppvObject);
  31. // 获取实例指针;
  32. static CODBCPtr* GetInstance(){
  33. if ( m_pInstance == NULL )
  34. m_pInstance = new CODBCPtr;
  35. return m_pInstance;
  36. }
  37. private:
  38. volatile LONG m_nRef;
  39. volatile LONG m_nObjRef;
  40. // 单例实例;
  41. static CODBCPtr* m_pInstance;
  42. void SolveDBError( IN CONST DWORD &dwError, IN CDatabase *&pDBConn);
  43. public:
  44. // 初始化所有连接;
  45. DWORD InitializePool(
  46. IN LPCTSTR lpDBSource,
  47. IN CONST DWORD &dwDBPort,
  48. IN LPCTSTR lpDBAccount,
  49. IN LPCTSTR lpPassWord,
  50. IN LPCTSTR lpDBName,
  51. IN CONST INT &nMinConn = 1,
  52. IN CONST INT &nMaxConn = 5
  53. );
  54. // 关闭所有连接;
  55. void ReleasePool();
  56. BOOL ExecuteSQL( IN LPCTSTR lpExcuteSQL, IN CONST DWORD &dwTimeOut = 30000 );
  57. BOOL IsUserExist( IN LPCTSTR lpStudioID, IN LPCTSTR lpAccount, IN LPCTSTR lpPassword, OUT LPVOID lpOutUserInfo,IN CONST DWORD &dwTimeOut = 3000 );
  58. INT QueryUserDetail(IN LPCTSTR lpStudioID, IN LPVOID lpUserDetail, IN CONST DWORD& dwTimeOut = 3000);
  59. INT QueryUserDetail( IN LPCTSTR lpStudioID, IN LPCTSTR lpAccount, IN LPCTSTR lpPassword, OUT LPVOID lpOutUserInfo,IN CONST DWORD &dwTimeOut = 3000 );
  60. INT QueryDepartmentInfo( IN LPCTSTR lpStudioID, OUT LPVOID lpOutDepartmentInfo, IN CONST DWORD& dwTimeOut = 3000 );
  61. INT QueryStaffInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutStaffInfo, IN CONST DWORD& dwTimeOut = 3000 );
  62. INT QueryUserInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutUserInfo, IN CONST DWORD& dwTimeOut = 3000 );
  63. INT QueryProductType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutProductType, IN CONST DWORD& dwTimeOut = 3000 );
  64. INT QueryProductInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutProductInfo, IN CONST DWORD& dwTimeOut = 3000 );
  65. INT QuerySceneryInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutSceneryInfo, IN CONST DWORD& dwTimeOut = 3000 );
  66. INT QueryPackageType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageType, IN CONST DWORD& dwTimeOut = 3000 );
  67. INT QueryPackageInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageInfo, IN CONST DWORD& dwTimeOut = 3000 );
  68. INT QueryPackageItems(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageItems, IN CONST DWORD& dwTimeOut = 3000 );
  69. INT QueryPackageItemsView(IN LPCTSTR lpStudioID, OUT LPVOID lpOutPackageItems, IN CONST DWORD& dwTimeOut = 3000);
  70. INT QueryPackageItemsDetail(IN LPCTSTR lpStudioID, IN LPCTSTR lpPackageSN, OUT LPVOID lpOutPackageItems, IN CONST DWORD& dwTimeOut = 3000);
  71. INT QueryCustomerType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutCustomerFrom, IN CONST DWORD& dwTimeOut = 3000 );
  72. INT QueryCustomerInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutCustomerInfo, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut = 3000);
  73. INT QueryOrderType(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderType, IN CONST DWORD& dwTimeOut = 3000 );
  74. INT QueryOrderInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderInfo, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut = 3000 );
  75. INT QueryOrderScenery(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderScenery, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut = 3000);
  76. INT QueryOrderPackageItems(IN LPCTSTR lpStudioID, OUT LPVOID lpOutOrderPackageItems, IN LPCTSTR lpFilter, IN CONST DWORD& dwTimeOut = 3000);
  77. INT QuerySysConfig(IN LPCTSTR lpStudioID, OUT LPVOID lpOutSysConfig, IN CONST DWORD& dwTimeOut = 3000 );
  78. INT QueryLog(IN LPCTSTR lpStudioID, OUT LPVOID lpOutLog, IN CONST DWORD& dwTimeOut = 3000 );
  79. INT QueryStudioInfo(IN LPCTSTR lpStudioID, OUT LPVOID lpOutStudioInfo, IN CONST DWORD& dwTimeOut = 3000 );
  80. INT SupQueryStudioInfo(OUT LPVOID lpOutStudioInfo, IN CONST DWORD& dwTimeOut = 3000 );
  81. INT QueryMaxOrderId(IN LPCTSTR lpStudioID, IN CONST DWORD& dwTimeOut = 3000);
  82. INT QueryMaxPrintId(IN LPCTSTR lpStudioID, IN CONST DWORD& dwTimeOut = 3000);
  83. //////////////////////////////////////////////////////////////////////////
  84. BOOL InsertStudioInfo(IN LPVOID lpStudioInfo, IN CONST DWORD& dwTimeOut = 3000 );
  85. BOOL UpdateStudioInfo(IN LPVOID lpStudioInfo, IN CONST DWORD& dwTimeOut = 3000);
  86. };
  87. #endif