私のアプリケーションはSQLiteデータベースを使用して連絡先の特定のデータを保存します。たとえば(record_ID、timestampなど)このメソッドを使用して特定の値でSQLITEレコードを更新しようとしています。
データベースを初期化した後、私はこのメソッドを呼び出していました。1つのレコードのみが更新されます。更新するたびにこのメソッドを呼び出しても。
- (void) updateRecord:(int)recordID:(NSString *)sapCustId:(NSString *)sapContactId: (NSString *)timestamp {
static sqlite3_stmt *updateStmt = nil;
if(updateStmt == nil) {
NSString *sql = [NSString stringWithFormat:@"update contactList set sapCustId = \"%@\", sapContactId = \"%@\", timestamp = \"%@\" Where record_ID = \"%d\"", sapCustId, sapContactId, timestamp, recordID];
const char *sql_stmt = [sql UTF8String];
if(sqlite3_prepare_v2(databaseHandle, sql_stmt, -1, &updateStmt, NULL) != SQLITE_OK)
NSAssert1(0, @"Error while creating update statement. '%s'", sqlite3_errmsg(databaseHandle));
}
// sqlite3_bind_text(updateStmt, 0, [sapCustId UTF8String], -1, SQLITE_TRANSIENT);
// sqlite3_bind_text(updateStmt, 1, [sapContactId UTF8String], -1, SQLITE_TRANSIENT);
// sqlite3_bind_int(updateStmt, 2, recordID);
// sqlite3_bind_text(updateStmt, 3, [timestamp UTF8String], -1, SQLITE_TRANSIENT);
if(SQLITE_DONE != sqlite3_step(updateStmt))
NSAssert1(0, @"Error while updating. '%s'", sqlite3_errmsg(databaseHandle));
sqlite3_reset(updateStmt);
sqlite3_close(databaseHandle);
//Reclaim all memory here.
[sapContactId release];
[sapCustId release];
}
私に知らせてください、それを解決する方法は?