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);
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

相关文章

SQLite架构简单,又有Json计算能力,有时会承担Json文件/RES...
使用Python操作内置数据库SQLite以及MySQL数据库。
破解微信数据库密码,用python导出微信聊天记录
(Unity)SQLite 是一个软件库,实现了自给自足的、无服务器...
安卓开发,利用SQLite实现登陆注册功能