什么是sqlite的好OO C ++包装器

时间:2020-03-06 14:35:30  来源:igfitidea点击:

我想为sqlite找到一个好的面向对象的C ++(而不是C)包装器。人们推荐什么?如果我们有几个建议,请将它们分开答复以进行表决。另外,请指出我们是否对建议的包装纸有任何经验,以及如何使用它。

解决方案

我已经使用了这个http://www.codeproject.com/KB/database/CppSQLite.aspx,但是我已经使用了C#,所以现在可能会有更新/更好的版本

这个图书馆很棒。

http://www.sqlapi.com/

该库有Windows和Linux版本可用,我在几分钟内就可以启动并运行。

SO ++是C ++中数据库的另一个很好的包装器。它不是OO,而是更现代的C ++。

它支持Oracle,PostgreSQL和MySQL。一个SQLite后端在CVS中。

http://www.codeproject.com/KB/database/CppSQLite.aspx太棒了,非常容易移植,我花了半个小时左右的时间在bcb5(omg)上工作。它尽可能的薄,而且易于理解。有很多例子可以涵盖我们需要了解的每件事。它使用异常进行错误处理,我对其进行了修改,以在几分钟内提供返回代码。唯一棘手的问题是创建我们自己的lib文件,但没有提供。

try
{

    CppSQLite3DB db;

    db.open(asFileName.c_str());

    db.execDML("Update data set hrx = 0");

} // try

catch (...)
{

} // catch

没有比这更简单的了.....

我们是否已成功将其移植到mingw-3.4.5?我们将共享移植的版本吗?

谢谢。

http://www.codeproject.com/KB/database/CppSQLite.aspx太棒了,非常容易移植,我花了半个小时左右的时间在bcb5(omg)上工作。它尽可能的薄,而且易于理解。有很多例子可以涵盖我们需要了解的每件事。它使用异常进行错误处理,我对其进行了修改,以在几分钟内提供返回代码。唯一棘手的问题是创建我们自己的lib文件,但没有提供。

也许你可以看看

http://pocoproject.org

或者

白金C ++框架

使用Qt,它对SQLite具有很好的约束力,非常适合其总体设计

Oracle / OCI / ODBC模板库

我对找到的任何一个都不满意,所以我写了自己的:sqlite3cc。

这是一个代码示例:

sqlite::connection db( filename );

sqlite::command c( db, "UPDATE foo SET bar = ? WHERE name = ?" );
c << 123 << name << sqlite::exec;

sqlite::query q( db, "SELECT foo FROM bar" );
for( sqlite::query::iterator i = q.begin(); i != q.end(); i++ )
    std::cout << i->column< std::string >( 0 ) << "\n";

这确实很诱人,但可以继续进行下去...

我直接从C ++使用sqlite,添加了C ++抽象层后看不到任何值。它是相当不错的(并且高效)。