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





猜你喜欢

转载自blog.csdn.net/chuanyu/article/details/53008830