Как можно вставить ключевое слово sqlite3 DISTINCT в запрос Android ContentProvider? - PullRequest
2 голосов
/ 06 октября 2010

У меня есть оператор SQL, который я могу использовать для возврата отдельных строк из моей базы данных Android sqlite3, и я хотел бы передать его через запрос ContentProvider.

Например:

select lastName from peopleTable where upper(lastName) like upper("%smith%");

должно быть

select DISTINCT lastName from peopleTable where upper(lastName) like upper("%smith%");

Существует ли чистый способ передачи дополнительных ключевых слов в оператор выбора?

1 Ответ

2 голосов
/ 05 мая 2011

Это не то, что я бы назвал «хорошей идеей», но в зависимости от CP вы можете изменить свою проекцию так, чтобы первая запись в проекции была «DISTINCT Column», а не просто «Column».Кажется, это работает, пока ContentProvider поддерживается базой данных, и в ваш прогноз не вносятся никакие изменения.Я еще раз повторю, что это может быть не самой лучшей идеей на будущее, так как эта «особенность» не документирована, и, скорее, вопрос о том, как запросы объединяются с классом SQLiteDatabase.Если вы знаете, как был построен ContentProvider, то вы можете заранее сказать, будет ли это работать.

...