SQLite应用之路

SQLite应用之路,第1张

概述 CppSqLite对SQLite的API进行了一次封装,让开发人员更加方便的使用SQLite。   1.准备一下 (1)CppSQLite3.h 和CppSQLite3.cpp (2)sqlite3.h、sqlite3.lib和sqlite3.dll 在使用这个类的时候,你需要确保几件事情:首先你要下载上诉5个文件。其次就是在你的工程中引入,sqlite3.lib,最后要将CppSQLite3. 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.打开数据库

代码:

[cpp] view plain copy print ? Cppsqlite3DBdb; db.open("data.db"); db.close();
Cppsqlite3DB db;db.open("data.db");db.close();

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

3.查询

代码:

[cpp] view plain copy print ? Cppsqlite3queryquery=db.execquery("select*fromtarget_table"); while(!query.eof()) { cout<<"name:"<<query.getStringFIEld("name")<<"age:"<<query.getIntFIEld("age")<<endl; query.nextRow(); } query.finalize();
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.数据库更改 *** 作

代码:

[cpp] view plain copy print ? db.execDML("insertintotarget_table(name,age)values('xinxian',25)"); db.execDML("updatetarget_tablesetage=21wherename='xinxian'");
db.execDML("insert into target_table(name,25)");db.execDML("update target_table set age = 21 where name = 'xinxian'");

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

5.statement对象

代码:

[cpp] view plain copy print ? 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();
Cppsqlite3Statementsmt = db.compileStatement("insert intotarget_table(name,age) values(?,?)");    for (int i = 0 ; i < 10; ++i)    {               smt.bind(1,"test_");        smt.bind(2,i);        smt.execDML();    }    smt.finalize();

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

6.异常处理

代码:

[cpp] view plain copy print ? try { code…… } catch(Cppsqlite3Exception&e) { }
try    {       code……    }    catch(Cppsqlite3Exception & e)     {           }

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

7.总结

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

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

总结

以上是内存溢出为你收集整理的SQLite应用之路全部内容,希望文章能够帮你解决SQLite应用之路所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1173271.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存