sqlite3_stmt *updateStmt = nil;
    if (updateStmt == nil)
    {
        const char *sql = " update PPM set amount = ? ";
        if (sqlite3_prepare_v2(appDelegate.PPMdatabase, sql, -1,&updateStmt, NULL)!= SQLITE_OK)
        {
            NSAssert (0,@"Error while creating update statement. '%s'",sqlite3_errmsg(appDelegate.PPMdatabase));
        }
    }
    sqlite3_bind_double (updateStmt,1, Val);
if (SQLITE_DONE != sqlite3_step(updateStmt))
    {
        NSAssert(0,@"Error while updating.'%s'",sqlite3_errmsg(appDelegate.PPMdatabase));
    }
    sqlite3_reset(updateStmt);

我收到错误消息:更新时出错。未知错误

最佳答案

您应该将sqlite3_step()SQLITE_OK进行比较,然后使用扩展结果代码进行更好的区分。甚至documentation calls this scheme“愚蠢的”。

出现“未知错误”的原因可能是因为没有错误(即step()返回OK)时您正在调用sqlite3_errmsg

09-27 14:39