在sqlite中更新语句

时间:2010-07-19 10:46:51

标签: c sqlite

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);

我收到错误:update.unknown错误时出错

1 个答案:

答案 0 :(得分:2)

您应该将sqlite3_step()SQLITE_OK进行比较,然后使用扩展结果代码进行更精细的歧视。甚至是documentation calls this scheme“高飞”。

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