SQLite有C ++面向对象的接口吗?

时间:2013-05-27 07:35:59

标签: c++ sqlite

SQLite附带一个C风格的界面,您需要显式关闭每个资源(没有析构函数)。

int rc = sqlite3_open16(databaseFileName, &sqlite->db);
...
sqlite3_close(_sqlite->db);

是否有可用的C风格界面的C ++接口或包装器,这会为GTK +添加析构函数,如gtkmm?类似的东西:

class SQLiteDb
{
public:
    SQLiteDb() {
        int rc = sqlite3_open16(databaseFileName, &db);
        if(rc != SQLITE_OK){
            std::string errorText = sqlite3_errmsg(db);
            throw std::runtime_error(errorText);
        }
    }
    ~SQLiteDb() {
        sqlite3_close(db);
    }
private:
    sqlite3 *db;
};

1 个答案:

答案 0 :(得分:6)

在您选择的搜索引擎上搜索“SQLite RAII”会找到this library