Android: запрос с датой - PullRequest
       2

Android: запрос с датой

0 голосов
/ 28 августа 2011

Я должен сделать запрос, но у меня проблема с датой, потому что структура 27/08/2011 это код:

dt="27/08/2011";
db.query(TABLE,null,mydata + "=" + dt,null,null,null,null);

проблема в том, что курсор всегда равен 0. Я думаю, что это структура данных, потому что, если я запрашиваю другой, он работает нормально

1 Ответ

2 голосов
/ 28 августа 2011

Ваша дата не указана в кавычках, поэтому SQLite интерпретирует 27/08/2011 как математическое выражение и заменит его на 0 (целое значение 27, деленное на 8, деленное на 2011) Вы могли бы процитировать это сами:

db.query(TABLE, null, mydata + "=" + "'" + dt + "'", null, null, null, null);

Или лучше, используйте заполнитель :

db.query(TABLE, null, mydata + "= ?", new String[] { dt }, null, null, null);

Переключение на формат даты ISO 8601 также будет хорошей идеей, чтобы избежать возможной двусмысленности, связанной с локалью, в дате:

String dt = "2011/08/27";
Cursor c  = db.query(TABLE, null, mydata + "= ?", new String[] { dt }, null, null, null);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...