SQLite使用(1)

SQLite下載:

http://download.csdn.net/detail/chuanyu/9671135


1.引用頭文件

#include "./SQLite/sqlite3.h"


2.定義變量

sqlite3 *database;


3.創建/打開一個本地文件作爲數據庫存儲

int result = sqlite3_open(“文件路徑+文件名”, &database);
if (result != SQLITE_OK)
{
database = NULL;
CCLOG("open db fail: %d", result);
return false;
}


4.執行語句

const char *SQL1 = "CREATE TABLE IF NOT EXISTS TableUser (WriteTime integer NOT NULL, room varchar(255), user1 varchar(255), PRIMARY KEY (WriteTime))";
int result = sqlite3_exec(database, SQL1, NULL, NULL, NULL);
if (result != SQLITE_OK)
{
CCLOG("create TableUser fail :%d", result);
return false;
}


5.獲取文件數據庫中的信息

char **re;
int row, col;
int result = sqlite3_get_table(database, "SELECT * FROM TableUser", &re, &row, &col, NULL);
if (result != SQLITE_OK)
{
sqlite3_free_table(re);
CCLOG("select data failed!");
return false;
}
//
int nDataIndex = col;
for (int i = 0; i < row; i++)
{
tagDBHistoryUser HistoryUserTemp;
ZeroMemory(&HistoryUserTemp, sizeof(HistoryUserTemp));
HistoryUserTemp.dwWriteTime = str2i(re[nDataIndex]);
memcpy(HistoryUserTemp.szServerName, re[nDataIndex + 1], strlen(re[nDataIndex + 1]) + 1);
for (int j = 2; j < col; j++)
{
if (j >= MAX_RECORD_CHAIR + 2)break;
memcpy(HistoryUserTemp.szNick[j - 2], re[nDataIndex + j], strlen(re[nDataIndex + j]) + 1);
}
HistoryUserList.push_back(HistoryUserTemp);


nDataIndex += col;
}
sqlite3_free_table(re);


6.關閉文件數據庫

sqlite3_close(database);
database = NULL;



延伸閱讀:

http://blog.csdn.net/linchunhua/article/details/7184439





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章