Поведение SQLite на ВСТАВКЕ на iPhone

Только неявно.
Любой метод Вы используете в методе, который на самом деле называют, наложен на шаблонный параметр.

5
задан Alasdair Allan 14 September 2009 в 16:02
поделиться

3 ответа

Конечно, он не вставляется. Вам нужно вызвать sqlite3_step , чтобы на самом деле выполнить ваш оператор.

Проверьте документацию .

Это SQLITE, а не особенность iPhone.

Из документация:

После того, как подготовленное заявление было подготовлен с использованием либо sqlite3_prepare_v2 () или sqlite3_prepare16_v2 () или один из устаревшие интерфейсы sqlite3_prepare () или sqlite3_prepare16 (), эта функция должен быть вызван один или несколько раз, чтобы оцените оператор.

7
ответ дан 13 December 2019 в 19:30
поделиться

Вы вставляете здесь только одну строку, так что здесь много шаблонного кода. Подумайте, что произойдет, если вы захотите вставить несколько строк:

  • Вам все равно понадобится один оператор подготовки
  • You ' d по-прежнему нужен один оператор finalize
  • . Вам потребуется один оператор step для каждой строки, которую вы хотите добавить. Вы можете воспринимать «шаг» как «выполнить» (или «получить следующую строку», если вы смотрите на оператор SELECT)

. Между прочим, вы, вероятно, не захотите «шагать», если подготовленный оператор не прошел.

2
ответ дан 13 December 2019 в 19:30
поделиться

Я бы полностью рекомендовал использовать оболочку вместо самостоятельной компиляции операторов ... Приличный список вариантов доступен здесь: http: // cocoaheads .byu.edu / resources / sqlite

2
ответ дан 13 December 2019 в 19:30
поделиться