sqlite3 c语言预编译处理,C语言使用sqlite3数据库【第三节】(示例代码)

# include

# include "sqlite3.h"

# include

int main(void)

{

int i;

int j;

sqlite3 *db;//建立一个sqlite3类型的指针db!可以当做数据库的操作句柄。

//没有这个句柄那么所有的sqlite3函数都没有任何实际意义

const char *SQL1="insert into sjk values(1,‘myd‘,‘2013-10-9‘);";//将SQL语句赋值在变量里!

const char *SQL2="insert into sjk values(2,‘myd‘,‘2013-10-9‘);";//SQL语句我就不多说了。

//从数据库查询数据

const char *SQL3="select * from sjk;";//这里是重点我们在最下面可以看到回调函数的用法!

char *errmsg=0;

char** pResult;

int nRow;

int nCol;

int Feedback = sqlite3_open("sqlite3.db", &db);

//打开指定的数据库文件,如果不存在将创建一个同名的数据库文件,并返回给db句柄值。

if( Feedback != SQLITE_OK )

{

printf("没有打开名为:sqlite3.db 的数据库\n 原因是:%s\n", sqlite3_errmsg(db));

system("pause");

//sqlite3_errmsg()是返回错误后的提示信息!参数是数据库的操作句柄。

sqlite3_close(db);

//sqlite3_close()是关闭指定数据库句柄的数据库!

exit(-1);//非正常退出!

}

else printf("成功打开或成功创建 名为:sqlite3.db !\n");

sqlite3_exec(db,"create table sjk(id integer,name text,birthday blob)",0,0,&errmsg);//创建表

sqlite3_exec(db,SQL1,0,0,&errmsg);//插入数据1

sqlite3_exec(db,SQL2,0,0,&errmsg);//插入数据2

printf("插入数据成功\n");

Feedback = sqlite3_get_table(db,SQL3,&pResult,&nRow,&nCol,&errmsg);//查询数据将数据返回到&pResult

int nIndex = nCol; //在这篇文章开始之前我就做过注释解析,请查看,然后分析为什么这么做?

printf("共有%d列/n",nIndex);//查出默认字段数相当于列数

for(i=0;i

{

for(j=0;j

{

printf("%s=%s\n",pResult[j],pResult[nIndex]);

++nIndex;//定位下一个数据,以便于字段名符合!

}

}

sqlite3_free_table(pResult);//释放内存

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

db = 0;//清除数据库句柄

printf("数据库关闭成功!\n");

system("pause");//暂停DOS以便于查看

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值