DBLogicProc.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:数据库逻辑处理;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[9/2/2016];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __DB_LOGIC_PROC__
  19. #define __DB_LOGIC_PROC__
  20. #include "mysqldata.h"
  21. #include "SafeList.h"
  22. #pragma once
  23. class CDBLogicProc
  24. {
  25. public:
  26. CDBLogicProc(void);
  27. ~CDBLogicProc(void);
  28. };
  29. class CODBCConnGuard
  30. {
  31. int m_nIndex;
  32. CDatabase *m_pODBCConn;
  33. public:
  34. CODBCConnGuard( CDatabase *&pDBConn, const int& nIndex = -1, CONST DWORD &dwTimeOut = 30000 )
  35. {
  36. m_nIndex = nIndex + 1;
  37. m_pODBCConn = NULL;
  38. if ( g_dbpool.GetSize() )
  39. {
  40. pDBConn = g_dbpool.ElementAt(m_nIndex)->GetAConnection( dwTimeOut );
  41. m_pODBCConn = pDBConn;
  42. }
  43. }
  44. virtual ~CODBCConnGuard()
  45. {
  46. if ( g_dbpool.GetSize() )
  47. {
  48. g_dbpool.ElementAt(m_nIndex)->RestoreAConnection(m_pODBCConn);
  49. }
  50. }
  51. };
  52. #endif // __DB_LOGIC_PROC__;