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 に答える