我有一个C ++程序,该程序具有此功能,在某些时候调用sqlite3_step()。事实证明,到达sqlite3_step()函数时,程序与消息“程序意外完成”发生冲突。我到底在做什么错?
bool Database::removeRepository(string repoName)
{
string sql = "DELETE FROM ";
sql += tableName + " WHERE NAME='" + repoName + "'";
sqlite3_stmt* deleteStmt = nullptr;
int prep_results = sqlite3_prepare_v2(connection, sql.c_str(), sql.size(), &deleteStmt, NULL);
int results = sqlite3_step(deleteStmt);
sqlite3_finalize(deleteStmt);
if(results == SQLITE_DONE)
return true;
else
return false;
}
最佳答案
几乎可以肯定,您的sqlite3_prepare_v2
调用失败了。您应该检查prep_results
的值,看看它是什么(有一个列表here)
关于c++ - sqlite3_step()有什么问题?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25017176/