使用update语句不更新表值

时间:2011-03-21 14:27:57

标签: iphone

我需要将列值更新为表格。

我的代码是,

NSString *sql_str = [NSString stringWithFormat:@"update %@ Set Quantiry = %@ Where ItemName = %@", tableName,quantity,itemname];
    const char *sqlStatement = (char *)[sql_str UTF8String];
    NSLog(@"query %s",sqlStatement);
    sqlite3_stmt *compiledStatement;

    sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL);

    sqlite3_close(database);

在控制台中显示的查询是update allcategories Set Quantiry = 11 Where ItemName = Bananas

但表中的值未更新。

出了什么问题,任何人都可以帮助我。

提前感谢你。

1 个答案:

答案 0 :(得分:0)

你在sqlite3_prepare_v2之后错过了一行。你必须在此之后使用sqlite3_step()。使用以下:

NSString *sql_str = [NSString stringWithFormat:@"update %@ Set Quantiry = %@ Where ItemName = %@", tableName,quantity,itemname];
const char *sqlStatement = (char *)[sql_str UTF8String];
NSLog(@"query %s",sqlStatement);
sqlite3_stmt *compiledStatement;

if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
sqlite3_step(compiledStatement);
}

sqlite3_close(database);

希望帮助.. :)