如何在iphone中更新sqlite3数据库

时间:2009-05-25 04:04:38

标签: iphone database

我想更新我的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;如何实现这个?

2 个答案:

答案 0 :(得分:11)

你快到了。

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行。

答案 1 :(得分:0)

FMDB是SQLite语句的一个很好的包装器。它负责大部分准备/绑定/步骤/重置苦差事。我强烈建议任何需要数据库的项目,但不想使用核心数据。