SQLite应用之路

前端之家收集整理的这篇文章主要介绍了SQLite应用之路前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Cppsqlitesqlite的API进行了一次封装,让开发人员更加方便的使用sqlite。

1.准备一下

(1)Cppsqlite3.h 和Cppsqlite3.cpp

(2sqlite3.h、sqlite3.lib和sqlite3.dll

在使用这个类的时候,你需要确保几件事情:首先你要下载上诉5文件。其次就是在你的工程中引入,sqlite3.lib,最后要将Cppsqlite3.h 和Cppsqlite3.cpp添加到你的工程中。

上述几个文件可以在这里下载

2.打开数据库

代码

@H_502_46@
  • Cppsqlite3DBdb;
  • db.open("data.db");
  • db.close();
  • Cppsqlite3DB是一个核心类,之后的查询数据库操作都要借助这个类。打开,关闭就像操作一个文件

    3.查询

    代码

    @H_502_46@
  • Cppsqlite3Queryquery=db.execQuery("select*fromtarget_table");
  • while(!query.eof())
  • {
  • cout<<"name:"<<query.getStringField("name")<<"age:"<<query.getIntField("age")<<endl;
  • query.nextRow();
  • }
  • query.finalize();


  • Cppsqlite3Query是一个查询返回对象,查询完后可以利用此类。这里就使用了Cppsqlite3DB的一个函数execQuery,只要将查询sql传入即可。

    eof函数:判断是否还有数据;

    nextRow函数:移到下一条记录;

    getStringField函数:将获得相应字段的内容,以字符串形式返回;

    getIntField函数:将获得相应字段的内容,以整形形式返回。

    注意的是这个类产生之后要finalize

    4.数据库更改操作

    代码

    @H_502_46@
  • db.execDML("insertintotarget_table(name,age)values('xinxian',25)");
  • db.execDML("updatetarget_tablesetage=21wherename='xinxian'");
  • 上面的代码就说明了一切,应该无需再解释。

    5.statement对象

    代码

    @H_502_46@
  • Cppsqlite3Statementsmt=db.compileStatement("insertintotarget_table(name,age)values(?,?)");
  • for(inti=0;i<10;++i)
  • {
  • smt.bind(1,"test_");
  • smt.bind(2,i);
  • smt.execDML();
  • }
  • smt.finalize();
  • Cppsqlite当然也提供Statement对象,用法也相当简单,参照上诉代码,应该不难理解。注意的是,Cppsqlite3Statement和Cppsqlite3Query一样,最后也要finalize。

    6.异常处理

    代码

    @H_502_46@
  • try
  • {
  • code……
  • }
  • catch(Cppsqlite3Exception&e)
  • {
  • }
  • 将操作代码放入try里面,使用Cppsqlite3Exception & 来catch。

    7.总结

    笔者这篇文章简单入门介绍Cppsqlite,之后会介绍一些Cppsqlite一些高级特性,并结合sqlite本身的特点,讨论一下多线程操作,加密解密以及一些sqlite的限制。

    转载地址:http://www.jb51.cc/article/p-kvprnlwy-bq.html

    原文链接:https://www.f2er.com/sqlite/200920.html

    猜你在找的Sqlite相关文章