我想更新我的 sqlite 数据库,但我找不到方法,以下是代码:

 const char *sqlStatement = "UPDATE frame SET fileExist = '1' WHERE name='$variable'";

if(sqlite3_prepare_v2(database, sqlStatement, -1, &compiledStatement, NULL) == SQLITE_OK) {
    NSLog(@"successupdate");
}

从上面的代码中,我希望我的表更新,其中名称等于 $variable name;如何实现?

最佳答案

你快到了。

const char *sqlStatement = "UPDATE frame SET fileExist = '1' WHERE name=?";

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

sqlite3_bind_text(sqlStatement, 1, variable, -1, SQLITE_TRANSIENT);

int success = sqlite3_step(sqlStatement);

sqlite3_reset(sqlStatement);

请注意,准备 SQL 语句只会告诉 SQLite 语句是什么样的。 sqlite3_bind_text 将变量应用于 SQL 语句和实际运行它的 sqlite3_step 行。

关于iphone - 如何在iphone中更新sqlite3数据库,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/905273/

10-09 08:06