Невозможно связать оператор sqlite для команды SELECT - PullRequest
0 голосов
/ 17 января 2020

В Swift я подключаюсь к базе данных sqlite и хочу выполнить инструкцию select:

sqlite3_prepare_v2(db, "select OneWord from words where OneWord='?' and definition='';", -1, &statement, nil) // Returns SQLITE_OK

Но когда я пытаюсь связать переменную:

sqlite3_bind_text(statement, 1, "Hello", -1, nil)

Это говорит мне : Query prepare error: column index out of range

Это хорошо работает с оператором INSERT. Что я делаю не так?

1 Ответ

0 голосов
/ 17 января 2020

Наиболее вероятная причина этого - кавычки вокруг знака вопроса, измените строку запроса на

"select OneWord from words where OneWord = ? and definition = '';"

С кавычками, которые вы запрашиваете для строк, где OneWord равно "?"

...