#database #sqlite
#База данных #sqlite
Вопрос:
я делаю проект Android с использованием базы данных sqlite, в запросе select у меня ошибка, связанная с исключением курсора (0), мой запрос :
Cursor c = myDB.rawQuery("SELECT * FROM COMPDETAIL WHERE city='Bangalore' AND service='Hospital';");
путем замены И ИЛИ если это работает..
что я должен делать, если я хочу выполнить компиляцию по нескольким условиям…
Заранее спасибо,
Ответ №1:
используйте moveToFirst():
if (c != null) {
if (c.moveToFirst()) {
do { ...
Ответ №2:
Вы уверены, что такая строка (с city = ‘Bangalore’ и service = ‘Hospital’) существует в вашей базе данных? AND
это совершенно законное ключевое слово в SQLite, нет никаких причин, по которым оно не работало бы и OR
будет … если только нет строки, соответствующей обоим критериям, и вы все еще пытаетесь ее извлечь — что приведет к чему-то вроде исключения «за пределами границ». Вне границ.