Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在iphone中更新sqlite3数据库_Iphone_Database - Fatal编程技术网

如何在iphone中更新sqlite3数据库

如何在iphone中更新sqlite3数据库,iphone,database,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"); } 从上面的代

我想更新我的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语句的样子。将变量应用于SQL语句的是
sqlite3\u bind\u text
,实际运行它的是
sqlite3\u step
行。

是SQLite语句的良好包装。它负责大部分准备/绑定/步骤/重置的繁重工作。对于任何需要DB但不想使用核心数据的项目,我强烈建议使用它。

我不认为在不指定适用于它的表的情况下,可以编译已编译语句。你到底想完成什么?我不太清楚。