/************************************************************************/ /* Copyright (C), 2016-2020, [IT], 保留所有权利; /* 模 块 名:; /* 描 述:; /* /* 版 本:[V]; /* 作 者:[IT]; /* 日 期:[6/4/2016]; /* /* /* 注 意:; /* /* 修改记录:[IT]; /* 修改日期:; /* 修改版本:; /* 修改内容:; /************************************************************************/ #ifndef __AES_SQLITE3_20160604__ #define __AES_SQLITE3_20160604__ #include "sqlite3.h" #pragma comment(lib, "SQLite3.lib") #pragma once class AesSQLite3 { sqlite3* m_pSQLite3; BOOL m_bSetKey; CHAR m_szKey[MAX_PATH]; INT m_nKeyLen; public: AesSQLite3(void); ~AesSQLite3(void); BOOL Open(IN LPCTSTR lpSQLitePath); void Close(); void SetKey(IN LPCTSTR lpKey); INT Execute(IN LPCTSTR lpSQL); private: // 将ASCII字符串转成UNICODE字符串; WCHAR* ASCII2UNICODE(IN LPCCH lpASCIIStr); BOOL ASCII2UNICODE(IN LPCCH lpASCIIStr, OUT PWCH pUNICODEStr, IN CONST INT& nUNICODEStrLen); // 将UNICODE字符串转成ASCII字符串; CHAR* UNICODE2ASCII(IN LPWCH lpUNICODEStr); BOOL UNICODE2ASCII(IN LPWCH lpUNICODEStr, OUT LPCH pASCIIStr, IN CONST INT& nASCIIStrLen); // 将UNICODE字符串转成UFT8字符串; CHAR* UNICODE2UTF8(IN LPWCH lpUNICODEStr); BOOL UNICODE2UTF8(IN LPWCH lpUNICODEStr, OUT LPCH pUTF8Str, IN CONST INT& nUTF8StrLen); // 将ASCII字符串转成UTF8字符串; CHAR* ASCII2UTF8(IN LPCCH lpASCIIStr); BOOL ASCII2UTF8(IN LPCCH lpASCIIStr, OUT LPCH pUTF8Str, IN CONST INT& nUTF8StrLen); }; #endif // __AES_SQLITE3_20160604__;