DataImpl.h 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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 "stdafx.h"
  22. #include "table.pb.h"
  23. #include "..\\SQLite3\\sqlite3.h"
  24. #pragma comment(lib, "SQLite3.lib")
  25. #include <vector>
  26. #ifndef _WIN32
  27. using CHAR = char;
  28. using BOOL = bool;
  29. using INT = int;
  30. #define TRUE 1
  31. #define FALSE 0
  32. using LPCSTR = const char*;
  33. #define MAX_PATH 256
  34. #define IN
  35. #define OUT
  36. #define OutputDebugString(str) cout << str << endl
  37. #endif
  38. class CDataImpl
  39. {
  40. CDataImpl(void);
  41. public:
  42. static CDataImpl* GetInstance()
  43. {
  44. static CDataImpl *pObj = NULL;
  45. if ( pObj == NULL )
  46. {
  47. pObj = new CDataImpl;
  48. //pObj->Open();
  49. }
  50. return pObj;
  51. }
  52. virtual ~CDataImpl(void);
  53. // 私有变量;
  54. private:
  55. sqlite3 *m_psqlite3;
  56. CHAR *m_pszErrmsg;
  57. // 用户函数;
  58. public:
  59. BOOL Open();
  60. void Close();
  61. // begin;
  62. BOOL TransactionBegin()
  63. {
  64. INT nRet = sqlite3_exec(m_psqlite3, "begin", 0, 0, &m_pszErrmsg);
  65. return ( nRet == 0 ) ? TRUE : FALSE;
  66. }
  67. BOOL TransactionCommit()
  68. {
  69. INT nRet = sqlite3_exec(m_psqlite3, "commit", 0, 0, &m_pszErrmsg);
  70. return ( nRet == 0 ) ? TRUE : FALSE;
  71. }
  72. // commit;
  73. // 执行语句;
  74. BOOL ExecteSQL(IN LPCSTR lpSQL);
  75. // 查询编译服务器表;
  76. INT QueryComplieServer(satdDatabase::listServer &list);
  77. // 查询自动编译脚本模型;
  78. INT QueryAutoComplieModel(satdDatabase::listModel &list);
  79. // 插入编译服务器;
  80. BOOL InsertComplieServer(IN satdDatabase::complieServer &server);
  81. // 插入自动化编译脚本模型;
  82. BOOL InsertAutoComplieModel(IN satdDatabase::model &model);
  83. // 更新编译服务器信息;
  84. BOOL UpdateComplieServer(IN satdDatabase::complieServer &server);
  85. // 更新自动化编译脚本模型;
  86. BOOL UpdateAutoCompliteModel(IN satdDatabase::model &model);
  87. };
  88. #endif