SQLite 强大,大家都知道,但是原生是C接口,用来其应用层稍微麻烦些。
今天做了个简单的C++封装,使用面向对象的方法来使用。
优点:面向对象的方式,减少应用层的复杂性;
缺点:暂对多线程环境支持不足。
使用样例如下:
// connect to a database
int rc = conn.connect("D:\\mytestdb.db");
if (rc != 0) {
std::cout << conn.getErrorMessage() << std::endl;
return;
}
// define a command and set a command text
SQLitePP::DBCommand cmd(&conn);
cmd.setCommandText("create table tbl_test(id integer not null, name text, contact text)");
rc = cmd.execute(); // execute
if (rc != 0) {
std::cout << conn.getErrorMessage() << std::endl;
return;
}
// insert data
cmd.setCommandText("insert into tbl_test(id, name, contact) values(0, 'gavin', 'vxling@gmail.com')");
rc = cmd.execute(); // execute
if (rc != 0) {
std::cout << conn.getErrorMessage() << std::endl;
return;
}
// execute a query
cmd.setCommandText("select * from tbl_test");
rc = cmd.execute(); // execute
if (rc != 0) {
std::cout << conn.getErrorMessage() << std::endl;
return;
}
// print all result
while (cmd.fetchNext()) {
std::cout << cmd.field(0).toInt() << ", " << cmd.field(1) << std::endl;
}
}
可以使用内存数据库、文件数据库等多种方式,这里的例子比较简单。
SQLite地址:http://sqlite.org/
SQLitePP 下载地址:https://sourceforge.net/projects/sqlite4pp/ 目前只有 VC2010 版本的库。
原文链接: https://www.cnblogs.com/h2-database/archive/2012/07/01/2572590.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/54129
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!