sqlite проблема с использованием оператора WHERE для поля varchar в Objective-C - PullRequest
0 голосов
/ 24 марта 2010

У меня есть SQL-оператор SELECT * FROM Language WHERE LanguageCode=?, где LanguageCode - это varchar (2).

Когда я использую sqlite3-prepare-v2 для этого оператора, я получаю SQLITE_ERROR, но если я использую SELECT * FROM Language WHERE LanguageID=?, где LanguageID - поле числового идентификатора первичного ключа, оператор компилируется очень хорошо.

Есть ли проблема фильтрации по полю varchar с помощью оператора WHERE?

Спасибо

Ответы [ 3 ]

0 голосов
/ 24 марта 2010

Будьте уверены, ваш? заключено в одинарные кавычки.

SQLite также должен выдавать вам строку с ошибкой, сообщающую о причине ошибки.

0 голосов
/ 24 марта 2010

Попробуйте позвонить sqlite3_errmsg и проверьте строку ошибки, возвращенную этим вызовом. Он должен дать вам более подробную информацию о том, что пошло не так.

Клаус

0 голосов
/ 24 марта 2010

Я думаю, что не должно быть проблем с оператором where при использовании поля varchar. Возможно, у вас проблемы с передачей параметра. Попробуйте напечатать в NSLog и увидеть оператор, который выполняется, и выполнить его с командной строкой sqlite, чтобы увидеть, есть ли у вас возвращаемые значения.

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