1
C++でsqlite3ライブラリを使用してプログラムで "VACUUM"コマンドを実行しようとしています。ここに参照を参照してください:https://sqlite.org/capi3ref.htmlsqlite3ライブラリを使用してC++で "VACUUM"コマンドを実行するには
誰かがこれを行う方法のコードスニペットを与えることができますか?私はこれを呼び出してみましたが、例外があります。
このコードは、SqliteDb.cppヘルパークラスにあります。私のメインクラスで
void SqliteDb::executeSql(const string& sqlStatement) {
char* errMsg = NULL;
sqlite3_exec(db, sqlStatement.c_str(), NULL, NULL, &errMsg);
if (errMsg != NULL) {
string reason = string("Error in") + sqlStatement + " " + errMsg;
sqlite3_free(errMsg);
__throw_sqlitedb(reason);
}
}
は私がやった:
try{
db = new SqliteDb(filepath);
db->executeSql("VACUUM;");
} catch (std::exception e) {
printf("EXCEPTION occured %s", e.what());
}
出力は
例外が
SqliteDb.cppがテストクラスではstd ::例外が発生しましたこのクラスを使用する他のコンポーネントでうまく動作します。
[mcve]を追加して、エラーを含めることを検討してください。 – Tas
サンプルコードをいくつか追加しました。 –