Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
#1

Выборка по дате в listView - Android

31.05.2013, 14:39. Просмотров 632. Ответов 4
Метки нет (Все метки)

Здравствуйте!
У меня есть таблица БД, в которой 4 поля, одно из них дата (день, месяц, год), мне нужно в листвью вывести данные этой таблице по заданной дате, которую мы берем из текствью.

Java
1
2
final Cursor c = sqliteDB.query(Names.TABLE_NAME, null, null, null, null, null,
                Names.DEFAULT_SORT);
Что нужно дописать в этот кусок кода чтоб реализовать мою задачу?

Добавлено через 1 час 4 минуты

Java
1
2
3
4
5
String having = null;
final String[] columns = { NamesColumns.NAME, NamesColumns.DATE, NamesColumns.PRICE };
having = "date=" +tView4;
final Cursor c = sqliteDB.query(Names.TABLE_NAME, null, null, null, having, null,
Names.DEFAULT_SORT);
пишу вот так, но желаемого результата все ровно нет(
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2013, 14:39     Выборка по дате в listView
Посмотрите здесь:

Android Получить день недели по дате
отображение Listview Android
Android Программная выборка из БД
Выборка из базы Android
Android Поиск по дате в БД
ListView с ресурсами Android
Android Получение доступа к дате/времени планшета
Android Listview and scrollview
Программа для определения дня недели по дате Android
Android Изменить ListView
ListView не работает Android
Android Оповещение по заданному времени и дате

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 243
31.05.2013, 15:02     Выборка по дате в listView #2
А в каком формате у вас хранится дата в таблице?
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
31.05.2013, 15:24  [ТС]     Выборка по дате в listView #3
Символьном.
JIyrApy
32 / 32 / 1
Регистрация: 22.08.2010
Сообщений: 243
31.05.2013, 15:40     Выборка по дате в listView #4
Получается вы каждый раз сравниваете строку даты, сформированную в коде программы со строкой, хранящейся в БД, так?
Не могу утверждать точно, но все-таки хранить дату в символьном формате в БД - не очень корректно. Самый лучший вариант - в миллисекундах, в формате long (или integer в БД SQLite). Зато эту цифру можно без проблем из БД получить и перевести ее в тип Date или Calendar в Java-коде, а потом сравнивать. Или наоборот, подготовить нужную дату в миллисекундах в Java-коде и сравнивать ее с цифрой в БД.

Добавлено через 5 минут
Вот например, как можно определить границы нужного дня:
Java
1
2
3
4
5
6
7
8
9
10
11
// nowLong - дата, которую вы вводите в миллисекундах
Date nownow=new Date(nowLong);
            Calendar cal=Calendar.getInstance();
            cal.setTime(nownow);
            cal.set(Calendar.HOUR_OF_DAY, 0); // здесь часы, минуты, секунды и миллисекунды обнуляем, то есть находим начало введенного дня
            cal.set(Calendar.MINUTE, 0);
            cal.set(Calendar.SECOND, 0);
            cal.set(Calendar.MILLISECOND, 0);
            long beginday=cal.getTimeInMillis(); // переводим полученную календарную дату в миллисекунды
    
            long nextday=beginday+(1000*60*60*24); // получаем следующий день в миллисекундах (прибавляем количество миллисекунд в сутках)
все, таперь можно осуществлять поиск в БД, где дата >= beginday и строго меньше nextday
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
31.05.2013, 19:12     Выборка по дате в listView #5
http://www.sqlite.org/lang_datefunc.html
Yandex
Объявления
31.05.2013, 19:12     Выборка по дате в listView
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru