Разница в выборе запросов Android - PullRequest
0 голосов
/ 03 июня 2011

Используя запрос для моей базы данных, ищущей строки с определенным number, я замечаю, что для аргумента выбора, если я использую:

String selection = NUMBER + " MATCH ?"
String selectionArgs = new String[]{number}

Cursor cursor1 = db.query(TABLE_NAME, null, selection, selectionArgs, null, null, null);
cursor1.moveToFirst();

, это вызывает ошибку, где, как будто я использую:

String selection = NUMBER + " = " + number;

Cursor cursor2 = db. query(TABLE_NAME, null, selection, null, null, null, null);
cursor2.moveToFirst();

это прекрасно работает без проблем.Так в чем же разница?

1 Ответ

0 голосов
/ 03 июня 2011

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

"Оператор MATCH - это специальный синтаксис для определенной в приложении функции match (). Реализация функции match () по умолчанию вызывает исключение и ни к чему не приводит. Но расширения могут переопределить функцию match (), если полезная логика. "

http://www.sqlite.org/lang_expr.html

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