1.代码实例
#include
#include
using namespace std;
#include "sqlite3.h"
#pragma comment(lib,"sqlite3.lib")
char* U2G(const char* utf8)
{
int len = MultiByteToWideChar(CP_UTF8, 0, utf8, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len + 1];
memset(wstr, 0, len + 1);
MultiByteToWideChar(CP_UTF8, 0, utf8, -1, wstr, len);
len = WideCharToMultiByte(CP_ACP, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len + 1];
memset(str, 0, len + 1);
WideCharToMultiByte(CP_ACP, 0, wstr, -1, str, len, NULL, NULL);
if (wstr) delete[] wstr;
return str;
}
char* G2U(const char* gb2312)
{
int len = MultiByteToWideChar(CP_ACP, 0, gb2312, -1, NULL, 0);
wchar_t* wstr = new wchar_t[len + 1];
memset(wstr, 0, len + 1);
MultiByteToWideChar(CP_ACP, 0, gb2312, -1, wstr, len);
len = WideCharToMultiByte(CP_UTF8, 0, wstr, -1, NULL, 0, NULL, NULL);
char* str = new char[len + 1];
memset(str, 0, len + 1);
WideCharToMultiByte(CP_UTF8, 0, wstr, -1, str, len, NULL, NULL);
if (wstr) delete[] wstr;
return str;
}
bool DeleteStudent(sqlite3 *db)
{
bool bRet = false;
int rc;
char sql[3000];
char *pErrMsg = 0;
sprintf_s(sql, "DELETE FROM Student WHERE Sno='%s';","1802");
rc = sqlite3_exec(db, sql, NULL, 0, &pErrMsg);
if (rc != SQLITE_OK)
{
cout <<"操作发生失败,失败原因:" <false;
}
else
{
bRet = true;
}
return bRet;
}
bool UpateStudent(sqlite3 *db)
{
bool bRet = false;
int rc;
char sql[3000];
char *pErrMsg = 0;
sprintf_s(sql, "UPDATE Student Set Sage=%d WHERE Sno='%s';",18, "1804");
rc = sqlite3_exec(db, sql, NULL, 0, &pErrMsg);
if (rc != SQLITE_OK)
{
cout <<"操作发生失败,失败原因:" <false;
}
else
{
bRet = true;
}
return bRet;
return true;
}
bool InsertStudent(sqlite3 *db)
{
bool bRet = false;
int rc;
char sql[3000];
char *pErrMsg = 0;
sprintf_s(sql, "INSERT INTO Student VALUES( \ '%s','%s','%s',%d);","1804",G2U("赵六"),G2U("男"),19);
rc = sqlite3_exec(db, sql, NULL, 0, &pErrMsg);
if (rc != SQLITE_OK)
{
cout <<"操作发生失败,失败原因:" <false;
}
else
{
bRet = true;
}
return bRet;
}
bool SelectStudent_QueryTable(sqlite3 *db)
{
bool bRet = false;
int rc;
char sql[3000];
char *pErrMsg = 0;
sprintf_s(sql, "SELECT * FROM 'Student';");
string m_SqlCommand(sql);
char** pResult;
int nRow;
int nCol;
int nResult = sqlite3_get_table(db,
m_SqlCommand.c_str(),
&pResult, &nRow, &nCol, &pErrMsg);
if (nResult != SQLITE_OK)
{
sqlite3_free(pErrMsg);
return false;
}
int nIndex = nCol;
int cnt = 0;
for (int i = 0; ifor (int j = 0; jcout <":" <" ";
++nIndex;
}
cout <return true;
}
int main()
{
sqlite3 *pDataBase = NULL;
int iRet = sqlite3_open(G2U("E:\\sqlite数据库\\testSQLite.db"), &pDataBase);
if (iRet)
{
cout <<"数据库打开失败,失败原因:" <else
{
cout <<"数据库打开成功!" <cout <<"原始数据:" <
- 输出结果
栏目导航
上一篇:SQLite学习笔记(六)– 数据查询功能两种实现方式(下)_查询表方式(C++实现)
下一篇:无