您的位置:首页 > 编程语言 > C语言/C++

基于sqlite3数据库的C、C++开发-简单

2013-05-16 09:28 316 查看
基于sqlite3数据库的C、C++开发-简单
Sqlite3是文件数据库,创建数据库后将在本地生成.db为后缀的数据库文件,本人使用SQLite Maestro.exe
工具生成数据库文件,此工具使用方法简单,详细请百度。

此数据库的源码可以从官方网站直接下载使用:sqlite3.c sqlite3.h,本文直接将源码添加在我们的工程当中。

首先引入头文件#include "sqlite3.h"

int main()

{

sqlite3 *db = NULL;//声明数据库对象

int res = sqlite3_open(“test.db”,&db); //打开数据库,第一个参数为数据库文件的路径,如果不存在创建

if (res != SQLITE_OK) {

printf("Open db failed.\n");

return -1;

}

{

char **dbResult; //用于保存查询结果

int nRow,nColumn;//行数,列数

char *errmsg=NULL;//错误信息

int index;

char sql[256]={0}; //sql语句

int i;

snprintf(sql,sizeof(sql),"%s","select id,name from t1");//假设数据库中已存在表t1

printf("sql=%s\n",sql);

res = sqlite3_get_table(db,sql,&dbResult,&nRow,&nColumn,&errmsg);

if (res != SQLITE_OK) {

printf("select failed.\n");

printf("res=%d,errmsg=%s.\n",res,errmsg);

sqlite3_free(errmsg);//释放内存

sqlite3_close(&db);//关闭数据库

return -1;

}

sqlite3_free(errmsg);//释放内存

printf("nRow=%d,nColumn=%d\n",nRow,nColumn);

index = nColumn; //跳过表头 index=0;不跳过表头

//输出内容

for(i=0;i<nRow;i++) {

printf("id=%d,name=%s\n",atoi(dbResult[index]),dbResult[index+1]);

index += nColumn;

}

sqlite3_free_table(dbResult); //释放空间

}

sqlite3_close(&db);//关闭数据库

return 0;

}

此例仅仅是打开数据库,取出内容,输出内容,关闭数据库等操作
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: