/************************************************************************/ /* Copyright (C), 2016-2020, [IT], 保留所有权利; /* 模 块 名:; /* 描 述:当前项目数据库操作实现; /* /* 版 本:[V]; /* 作 者:[IT]; /* 日 期:[11/13/2016]; /* /* /* 注 意:; /* /* 修改记录:[IT]; /* 修改日期:; /* 修改版本:; /* 修改内容:; /************************************************************************/ #ifndef __DATA_IMPL__ #define __DATA_IMPL__ #pragma once #include "TableInfo.h" class CDataImpl { CDataImpl(void); public: static CDataImpl* GetInstance() { static CDataImpl *pObj = NULL; if ( pObj == NULL ) { pObj = new CDataImpl; pObj->Open(); } return pObj; } virtual ~CDataImpl(void); // 私有变量; private: sqlite3 *m_psqlite3; CHAR *m_pszErrmsg; // 用户函数; public: BOOL Open(); void Close(); // begin; BOOL TransactionBegin() { INT nRet = sqlite3_exec(m_psqlite3, "begin", 0, 0, &m_pszErrmsg); return ( nRet == 0 ) ? TRUE : FALSE; } BOOL TransactionCommit() { INT nRet = sqlite3_exec(m_psqlite3, "commit", 0, 0, &m_pszErrmsg); return ( nRet == 0 ) ? TRUE : FALSE; } // commit; // 执行语句; BOOL ExecteSQL(IN LPCSTR lpSQL); // 查询模块表; INT QueryModInfo(IN OUT std::vector &vtModInfo); // 插入新模块; BOOL InsertModInfo(IN STModInfo &stModInfo); BOOL InsertModInfo(IN LPCSTR lpModName, IN LPCSTR lpModAddress, IN LPCSTR lpModVerion); // 更新模块表; BOOL UpdateModInfo(IN STModInfo &stModInfo); BOOL UpdateModInfo(IN LPCSTR lpModName, IN LPCSTR lpModAddress, IN LPCSTR lpModVerion); // 删除模块; BOOL DeleteModInfo(IN STModInfo &stModInfo); BOOL DeleteModInfo(IN LPCSTR lpModName); }; #endif