#include "pch.h" #include "DBManager.h" //设置sqlite数据库文件的路径 const char *sRoute = "D:\\dms.db"; CDBManager * CDBManager::m_pDb = NULL; CDBManager::CDBManager() { m_pSqlDb = NULL; if (m_pSqlDb || !(m_pSqlDb = new CppSQLite3DB())) { return; } } CDBManager::~CDBManager() { if (m_pDb != NULL) { delete m_pDb; m_pDb = NULL; } if (m_pSqlDb) { delete m_pSqlDb; m_pSqlDb = NULL; } } CDBManager* CDBManager::GetInstance() { CMutex mux; if (m_pDb == NULL) { mux.Lock(); if (m_pDb == NULL) { m_pDb == new CDBManager(); } mux.Unlock(); } return m_pDb; } BOOL CDBManager::StartQuery(LPCTSTR szSQL) { try { CppSQLite3Buffer bufSQL; CppSQLite3Query q = m_pSqlDb->execQuery(bufSQL); bufSQL.clear(); if (!q.eof()) { q.finalize(); return TRUE; } else { q.finalize(); return FALSE; } } catch (CppSQLite3Exception& e) { LOG::E(e.errorMessage()); return FALSE; } } BOOL CDBManager::ExecSQL(LPCTSTR szSQL) { try { m_pSqlDb->open(sRoute); m_pSqlDb->execDML(szSQL); m_pSqlDb->close(); } catch (CppSQLite3Exception& e) { LOG::E(e.errorMessage()); return FALSE; } return TRUE; }