как обновить базу данных sqlite3 в iphone - PullRequest
3 голосов
/ 25 мая 2009

Я хочу обновить базу данных 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");
}

из приведенного выше кода я хочу обновить таблицу, где имя равно $ имя переменной, как этого добиться?

Ответы [ 2 ]

11 голосов
/ 25 мая 2009

Ты почти у цели.

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, которая на самом деле запускает it.

0 голосов
/ 24 сентября 2010

FMDB - хорошая оболочка для операторов SQLite. Он заботится о большей части рутинной работы по подготовке / привязке / шагу / сбросу. Я настоятельно рекомендую его для любого проекта, который нуждается в БД, но не хочет использовать Core Data.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...