SQLite-запрос ничего не возвращает - PullRequest
1 голос
/ 31 октября 2011

У меня есть этот запрос в SQLite, который я хочу вернуть значение на основе пройденной даты.Дата в базе данных в виде строки.Я знаю, что в базе данных есть данные с этой датой, но она просто ничего не возвращает.Я не знаю почему.Когда я делаю запрос без параметров сравнения, он возвращает все данные в обычном режиме, но, используя предложение WHERE в методе запроса, он перестает возвращаться.Может быть, это просто вопрос синтаксиса SQL.В любом случае, вот заявление:

Cursor cursor = db.query(TABLE, new String[] {"_id", "value"}, "current_date = ? ", new String[] {date}, null, null, null);

EDIT

Я сделал этот запрос в браузере баз данных SQLite, и он не возвращает никакихценности.Даже если это там.

Я видел, что это довольно забавно и запутано.Я тестировал в браузере баз данных, а также по телефону, когда я пропускаю текущий день, день «Сегодня», он получает данные, но когда я пропускаю другой день, который не сегодня, он ничего не возвращает.Очень, очень странно.

И в Обозревателе баз данных я выбрал столбец, содержащий дату, и он возвращает только дату «Сегодня», даже если раньше были другие даты.

Ответы [ 2 ]

0 голосов
/ 31 октября 2011

Имя столбца было 'current_date', и это имя функции SQLite.Таким образом, он не получил другие даты, только текущую дату.

0 голосов
/ 31 октября 2011

если ваша дата хранится в базе данных в формате 'dd-mm-yyyy', попробуйте использовать ее как-

Calendar cal=Calendar.getInstance();
Cursor cursor = db.query(TABLE, new String[] {"_id", "value"}, "date = ? ", String.format("%1$td-%1$tm-%1$tY",cal), null, null, null);

Для других форматов, пожалуйста, обратитесь http://download.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html

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