diff --git a/src/cpp/database/SqliteDatabase.cpp b/src/cpp/database/SqliteDatabase.cpp index 4bb0850bf..c9a540ff8 100644 --- a/src/cpp/database/SqliteDatabase.cpp +++ b/src/cpp/database/SqliteDatabase.cpp @@ -279,6 +279,14 @@ SqliteStatement::SqliteStatement(SqliteDatabase* db, const char *sql) throw j; } +SqliteStatement::SqliteStatement(SqliteDatabase* db, const std::string& sql) +{ + assert(db); + int j = sqlite3_prepare_v2(db->peekConnection(), sql.c_str(), sql.size() + 1, &statement, NULL); + if (j != SQLITE_OK) + throw j; +} + SqliteStatement::~SqliteStatement() { sqlite3_finalize(statement); diff --git a/src/cpp/database/SqliteDatabase.h b/src/cpp/database/SqliteDatabase.h index ed2d82945..19569a69b 100644 --- a/src/cpp/database/SqliteDatabase.h +++ b/src/cpp/database/SqliteDatabase.h @@ -73,6 +73,7 @@ protected: public: SqliteStatement(SqliteDatabase* db, const char *statement); + SqliteStatement(SqliteDatabase* db, const std::string& statement); ~SqliteStatement(); sqlite3_stmt* peekStatement();