sqlite3_step()有什么问题?

What is wrong with sqlite3_step()?

本文关键字:什么 问题 step sqlite3      更新时间:2023-10-16

我有一个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的值,看看它的值是什么(这里有一个列表)