Я занимаюсь разработкой приложения для Android и имею следующий запрос:
result = myDataBase.query(HD_TABLENAME, new String[]{HD_KEYDATE, HD_KEYFESTID},
"YEAR = "+ year +" AND MONTH = " + month, null, null, null, HD_KEYDATE);
Я написал собственный DataBaseHelper, который вызывает этот запрос.
Приведенные выше результаты приводят к следующему запросу:
SELECT DATE, FESTIVALID FROM HOLIDAYDATES WHERE YEAR = 2010 AND MONTH = 1 ORDER BY DATE
когда я выполняю тот же запрос от администратора SQLLite для того же файла, он возвращает необходимые строки.
Нет исключений, как я могу заставить работать вышеперечисленное.
База данных существует и работает для предыдущего запроса.
Есть ли какое-либо свойство объекта результата, которое я могу проверить, чтобы увидеть точную ошибку?
НЕ УВЕРЕН, ЕСЛИ ЭТО ПОМОЖЕТ:
Сообщение logcat, которое я получаю после выполнения запроса:
04-19 10: 39: 54.803: DEBUG / SntpClient (71): сбой времени запроса: java.net.SocketException: семейство адресов не поддерживается протоколом
РАЗЪЯСНЕНИЯ:
Одно из свойств имеет это:
result.mStackTrace имеет значение = android.database.sqlite.DatabaseObjectNotClosedException: приложение не закрывало курсор или объект базы данных, который был открыт здесь
Теперь, я думаю, сначала я должен закрыть и открыть какой-то курсор, который я по глупости оставил открытым, но сейчас пытаюсь найти его, если вы можете что-то предложить, пожалуйста, сделайте.
ДОПОЛНИТЕЛЬНЫЙ ВОПРОС, есть ли способ увидеть открытые соединения с базой данных?