AesSQLite3.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /************************************************************************/
  2. /* Copyright (C), 2016-2020, [IT], 保留所有权利;
  3. /* 模 块 名:;
  4. /* 描 述:;
  5. /*
  6. /* 版 本:[V];
  7. /* 作 者:[IT];
  8. /* 日 期:[6/4/2016];
  9. /*
  10. /*
  11. /* 注 意:;
  12. /*
  13. /* 修改记录:[IT];
  14. /* 修改日期:;
  15. /* 修改版本:;
  16. /* 修改内容:;
  17. /************************************************************************/
  18. #ifndef __AES_SQLITE3_20160604__
  19. #define __AES_SQLITE3_20160604__
  20. #include "sqlite3.h"
  21. #pragma comment(lib, "SQLite3.lib")
  22. #pragma once
  23. class AesSQLite3
  24. {
  25. sqlite3* m_pSQLite3;
  26. BOOL m_bSetKey;
  27. CHAR m_szKey[MAX_PATH];
  28. INT m_nKeyLen;
  29. public:
  30. AesSQLite3(void);
  31. ~AesSQLite3(void);
  32. BOOL Open(IN LPCTSTR lpSQLitePath);
  33. void Close();
  34. void SetKey(IN LPCTSTR lpKey);
  35. INT Execute(IN LPCTSTR lpSQL);
  36. private:
  37. // 将ASCII字符串转成UNICODE字符串;
  38. WCHAR* ASCII2UNICODE(IN LPCCH lpASCIIStr);
  39. BOOL ASCII2UNICODE(IN LPCCH lpASCIIStr, OUT PWCH pUNICODEStr, IN CONST INT& nUNICODEStrLen);
  40. // 将UNICODE字符串转成ASCII字符串;
  41. CHAR* UNICODE2ASCII(IN LPWCH lpUNICODEStr);
  42. BOOL UNICODE2ASCII(IN LPWCH lpUNICODEStr, OUT LPCH pASCIIStr, IN CONST INT& nASCIIStrLen);
  43. // 将UNICODE字符串转成UFT8字符串;
  44. CHAR* UNICODE2UTF8(IN LPWCH lpUNICODEStr);
  45. BOOL UNICODE2UTF8(IN LPWCH lpUNICODEStr, OUT LPCH pUTF8Str, IN CONST INT& nUTF8StrLen);
  46. // 将ASCII字符串转成UTF8字符串;
  47. CHAR* ASCII2UTF8(IN LPCCH lpASCIIStr);
  48. BOOL ASCII2UTF8(IN LPCCH lpASCIIStr, OUT LPCH pUTF8Str, IN CONST INT& nUTF8StrLen);
  49. };
  50. #endif // __AES_SQLITE3_20160604__;