0

我已经准备好更新sqlite语句了..但我对从uitextview获取文本并更新它感到困惑..我想使用uibutton更新它..创建sql语句后我该如何继续???有点迷路..任何新的解决方案都值得赞赏..

- (void) saveAllData {
    if(isDirty) {
        if(updateStmt == nil) {
            const char *sql = "update Snap Set snapTitle = ?, snapDesc = ?, Where snapID = ?";
            if(sqlite3_prepare_v2(database, sql, -1, &updateStmt, NULL) != SQLITE_OK)
                NSAssert1(0, @"Error while creating update statement. '%s'", sqlite3_errmsg(database));
            }
            sqlite3_bind_text(updateStmt, 1, [snapTitle UTF8String], -1, SQLITE_TRANSIENT);
            sqlite3_bind_text(updateStmt, 2, [snapDescription UTF8String], -2, SQLITE_TRANSIENT);
            sqlite3_bind_int(updateStmt, 3, snapID);
            if(SQLITE_DONE != sqlite3_step(updateStmt))
                NSAssert1(0, @"Error while updating. '%s'", sqlite3_errmsg(database));
                sqlite3_reset(updateStmt);
                isDirty = NO;
            }

        //Reclaim all memory here.
        [snapTitle release];
        snapTitle = nil;
        [snapDescription release];
        snapDescription = nil;

        //isDetailViewHydrated = NO;
    }
}
4

1 回答 1

0

而不是sqlite3_reset(updateStmt)我使用sqlite3_finalize(updateStmt)并且代码运行良好。

于 2010-08-29T03:22:24.163 回答