SQLite C++ Wrapper 是一个 C++ 语言对 SQLite 的最小封装包。
示例代码1:
#include <string>
#include <iostream>
#include <stdexcept>
using namespace std;
#include "sqlite3x.hpp"
using namespace sqlite3x;
int main(void) {
try {
sqlite3_connection con("test.db");
int count = con.executeint(
"select count(*) "
"from sqlite_master "
"where name=‘t_test‘;");
if(count == 0) {
con.executenonquery(
"create table t_test(number,string);");
}
sqlite3_transaction trans(con);
{
sqlite3_command cmd(con,
"insert into t_test values(?,?);");
cmd.bind(2,"foobar",6);
for(int i = 0; i < 10000; ++i) {
cmd.bind(1,i);
cmd.executenonquery();
}
}
// if trans goes out of scope (due to an exception or
// anything else) before calling commit(),it will
// automatically rollback()
trans.commit();
}
catch(exception &ex) {
cerr << "Exception Occured: " << ex.what() << endl;
}
return 0;
}
示例代码2:
#include <iostream>
#include <stdexcept>
using namespace std;
#include "sqlite3x.hpp"
using namespace sqlite3x;
int main(void) {
try {
sqlite3_connection con("test.db");
sqlite3_command cmd(con,"select * from t_test;");
sqlite3_reader reader = cmd.executereader();
while(reader.read()) {
cout << reader.getcolname(0) << ": "
<< reader.getint(0) << endl;
}
}
catch(exception &ex) {
cerr << "Exception Occured: " << ex.what() << endl;
}
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。