DataImpl.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:当前项目数据库操作实现;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[11/13/2016];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __DATA_IMPL__
  19. #define __DATA_IMPL__
  20. #pragma once
  21. #include "TableInfo.h"
  22. class CDataImpl
  23. {
  24. CDataImpl(void);
  25. public:
  26. static CDataImpl* GetInstance()
  27. {
  28. static CDataImpl *pObj = NULL;
  29. if ( pObj == NULL )
  30. {
  31. pObj = new CDataImpl;
  32. pObj->Open();
  33. }
  34. return pObj;
  35. }
  36. virtual ~CDataImpl(void);
  37. // 私有变量;
  38. private:
  39. sqlite3 *m_psqlite3;
  40. CHAR *m_pszErrmsg;
  41. // 用户函数;
  42. public:
  43. BOOL Open();
  44. void Close();
  45. // begin;
  46. BOOL TransactionBegin()
  47. {
  48. INT nRet = sqlite3_exec(m_psqlite3, "begin", 0, 0, &m_pszErrmsg);
  49. return ( nRet == 0 ) ? TRUE : FALSE;
  50. }
  51. BOOL TransactionCommit()
  52. {
  53. INT nRet = sqlite3_exec(m_psqlite3, "commit", 0, 0, &m_pszErrmsg);
  54. return ( nRet == 0 ) ? TRUE : FALSE;
  55. }
  56. // commit;
  57. // 执行语句;
  58. BOOL ExecteSQL(IN LPCSTR lpSQL);
  59. // 查询模块表;
  60. INT QueryModInfo(IN OUT std::vector<STModInfo*> &vtModInfo);
  61. // 插入新模块;
  62. BOOL InsertModInfo(IN STModInfo &stModInfo);
  63. BOOL InsertModInfo(IN LPCSTR lpModName, IN LPCSTR lpModAddress, IN LPCSTR lpModVerion);
  64. // 更新模块表;
  65. BOOL UpdateModInfo(IN STModInfo &stModInfo);
  66. BOOL UpdateModInfo(IN LPCSTR lpModName, IN LPCSTR lpModAddress, IN LPCSTR lpModVerion);
  67. // 删除模块;
  68. BOOL DeleteModInfo(IN STModInfo &stModInfo);
  69. BOOL DeleteModInfo(IN LPCSTR lpModName);
  70. };
  71. #endif