DBFactory.cpp 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /**************************************************************************************************
  2. 版本所有(C), 2020-2022, 北京普达迪泰
  3. ***************************************************************************************************
  4. 文 件 名: DBFactory.cpp
  5. 功能描述: 数据库连接管理
  6. 版 本 号: 1.00初版
  7. 作 者: HYF
  8. 生成日期; 2021-12-20
  9. 最近修改:
  10. 函数列表:
  11. 修改历史:
  12. 1.日 期 :2021-12-20
  13. 作 者 : HYF
  14. 修改内容 : 创建文件
  15. **************************************************************************************************/
  16. #include "pch.h"
  17. #include "CppSQLite3.h"
  18. #include "DBFactory.h"
  19. // 设置sqlite数据库文件的路径
  20. const char *sRoute = "D:\\dms.db";
  21. // 数据库连接单例模式
  22. CppSQLite3DB* DBFactory::m_pSqlDb = NULL;
  23. DBFactory::CGarbo garbo;
  24. DBFactory::DBFactory()
  25. {
  26. }
  27. /**************************************************************************************************
  28. 函 数 名 :GetSQLite
  29. 功能描述 :获取数据库连接
  30. 输出参数 :略
  31. 返 回 值 :略
  32. **************************************************************************************************/
  33. CppSQLite3DB* DBFactory::GetSQLite()
  34. {
  35. if (m_pSqlDb == NULL)
  36. {
  37. CMutex mux;
  38. mux.Lock();
  39. if (m_pSqlDb == NULL) {
  40. CString szPath = Utils::GetExecDir();
  41. szPath.Append(_T("\\dms.db"));
  42. m_pSqlDb = new CppSQLite3DB();
  43. m_pSqlDb->open((char*)(LPCTSTR)szPath);
  44. }
  45. mux.Unlock();
  46. }
  47. return m_pSqlDb;
  48. }
  49. /**************************************************************************************************
  50. 函 数 名 :DBFactory
  51. 功能描述 :析构函数,但实际不会执行
  52. 输出参数 :略
  53. 返 回 值 :略
  54. **************************************************************************************************/
  55. DBFactory::~DBFactory()
  56. {
  57. if (m_pSqlDb)
  58. {
  59. m_pSqlDb->close();
  60. delete m_pSqlDb;
  61. m_pSqlDb = NULL;
  62. }
  63. }