1
我想在C++中使用sqlite3庫C++編程執行「VACUUM」命令。請參閱參考:https://sqlite.org/capi3ref.html我怎樣才能執行「VACUUM」命令在C++中使用sqlite3庫
有人可以給出一個如何做到這一點的代碼片段?我試着調用它,但它給出了一個例外:
此代碼位於我的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());
}
輸出是發生
異常std ::例外
的SqliteDb.cpp是一個測試類並且適用於使用此類的其他組件。
考慮添加[mcve],幷包含錯誤! – Tas
添加了一些示例代碼。 –