打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SQLite应用之路

转:SQLite应用之路---CppSqlite

 

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

 

1.准备一下

(1)CppSQLite3.h 和CppSQLite3.cpp

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

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

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

 

2.打开数据库

代码:

  1. CppSQLite3DB db;  
  2. db.open("data.db");  
  3. db.close();  

CppSQLite3DB是一个核心类,之后的查询等数据库操作都要借助这个类。打开,关闭就像操作一个文件。

 

3.查询

代码:

  1. CppSQLite3Queryquery = db.execQuery("select * fromtarget_table");  
  2.     while(!query.eof())  
  3.     {  
  4.         cout<<"name:"<<query.getStringField("name")<<"age : "<<query.getIntField("age")<<endl;  
  5.         query.nextRow();  
  6.     }  
  7.     query.finalize();  


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

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

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

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

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

 

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

 

4.数据库更改操作

代码:

  1. db.execDML("insert into target_table(name,age)values('xinxian',25)");  
  2. db.execDML("update target_table set age = 21 where name = 'xinxian'");  

上面的代码就说明了一切,应该无需再解释。

 

5.statement对象

代码:

  1. CppSQLite3Statementsmt = db.compileStatement("insert intotarget_table(name,age) values(?,?)");  
  2.     for (int i = 0 ; i < 10; ++i)  
  3.     {  
  4.          
  5.         smt.bind(1,"test_");  
  6.         smt.bind(2,i);  
  7.         smt.execDML();  
  8.     }  
  9.     smt.finalize();  

CppSqlite当然也提供Statement对象,用法也相当简单,参照上诉代码,应该不难理解。注意的是,CppSQLite3Statement和CppSQLite3Query一样,最后也要finalize。

 

6.异常处理

代码:

  1. try  
  2.     {  
  3.        code……  
  4.     }  
  5.     catch(CppSQLite3Exception & e)   
  6.     {  
  7.          
  8.     }  

将操作代码放入try里面,使用CppSQLite3Exception & 来catch。

 

7.总结

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

 

 

 


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
提升SQLite数据插入效率低、速度慢的方法
SQLite入门与分析(二)---设计与概念 --SQLite 中文社区-- http:/...
当C++遇到iOS应用开发---SQLITE篇 ado net
SQLite 注入 | w3cschool菜鸟教程
Qt 学习之路 2(55):数据库操作 | DevBean's World
VFB综合例题:sqlite数据库
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服