SQLite下载:
http://download.youkuaiyun.com/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.youkuaiyun.com/linchunhua/article/details/7184439