sqlite db を更新しようとしています。これは私が使用しているコードです
if(sqlite3_open([dbPath UTF8String], &database) == SQLITE_OK)
{
const char * sql;
sql = "update tms set name = ?,place=?,stars=? where id=?";
sqlite3_stmt *selectStatement;
//prepare the select statement
int returnValue = sqlite3_prepare_v2(database, sql, -1, &selectStatement, NULL);
if(returnValue == SQLITE_OK)
{
sqlite3_bind_text(selectStatement, 1,[[payloadDict valueForKey:@"userName"] UTF8String] , [[payloadDict valueForKey:@"userName"] length],SQLITE_STATIC);
sqlite3_bind_text(selectStatement, 2,[[payloadDict valueForKey:@"locName"] UTF8String], [[payloadDict valueForKey:@"locName"] length],SQLITE_STATIC);
sqlite3_bind_int(selectStatement, 3, [[payloadDict valueForKey:@"starCount"] integerValue]);
sqlite3_bind_int(selectStatement, 4, [[payloadDict valueForKey:@"rowid"] integerValue]);
int success = sqlite3_step(selectStatement);
if(success == SQLITE_DONE)
{
isExist = TRUE;
}
else {
//NSAssert1(0,@"Error: Failed to Update %s",sqlite3_errmsg(database));
}
}
sqlite3_step を実行すると、値 101 が成功として取得されます。ただし、データベースは新しい値で更新されません。どうすればこれを適切に行うことができますか?ありがとう