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

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

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

Выборка из БД по заданному параметру - Программирование Android

10.06.2013, 01:12. Просмотров 667. Ответов 11
Метки нет (Все метки)

Доброго времени суток!
У меня есть таблица БД, содержимое которой я вывожу в listview, еще есть в этом же активити textview в котором информация динамически изменяется. Мне надо чтобы данные БД, которые выводятся в listview сравнивались с данными textview. Как написать правильный запрос?
Делаю так:
Java
1
2
3
4
5
           String selection;
        selection = "NamesColumns.NAME = tview4";
        final String[] columns = { NamesColumns.NAME };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, null, selection, null, null, null,
                Names.DEFAULT_SORT);
При выполнении приложение слетает.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.06.2013, 01:12
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Выборка из БД по заданному параметру (Программирование Android):

Выборка по определенному параметру - SQL Server
День добрый имеется такой вопрос. Допустим есть запрос который выдает Имя потребителя, его счетчик, адрес, телефон и т.п Но мне для...

Выборка доступных значений по параметру - MySQL
Здравствуйте, помогите, пожалуйста, составить запрос MySQL (хотя, думаю, одним запросом здесь не обойдется). Суть - возможность...

Удаление узла из односвязного списка по заданному параметру - C++
Имеется: программа для добавления данных студента/ов, распечатывание его/их данных. Нужно написать код для удаления узла с данными студента...

Найти числа близкие к нули по заданному параметру - C#
Помогите!!! В общем, я не знаю ,как задать условия, чтобы он не ругался , что Инт в булл - незя. В итоге, я его задаю какими-то закоулками...

Поиск и присвоение значений переменной по заданному параметру - MS Excel
В зависимости от размера груза определяется его степень негабаритности. Буду очень признателен в помощи написании моего маленького...

Выборка данных из листов в сводную таблицу по основному параметру - MS Excel
День добрый Есть задача - имеется 4 листа с данными. В каждой строке данные соответствуют первому значению (основному, 5-6 значений на...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.06.2013, 01:35 #2
примерно так
Java
1
selection = NamesColumns.NAME + " LIKE " + tview4.getText();
Добавлено через 2 минуты
http://androidwright.blogspot.com/20...statement.html
1
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
10.06.2013, 10:33  [ТС] #3
Сделал так:
Java
1
2
3
4
5
String selection;
  selection = NamesColumns.DATE + "LIKE" + tView4.getText();
        final String[] columns = { NamesColumns.NAME , NamesColumns.DATE, NamesColumns.PRICE, NamesColumns.KOL };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, selection, null, null, null, null, null,
                Names.DEFAULT_SORT);
и так:
Java
1
2
3
        final String[] columns = { NamesColumns.NAME , NamesColumns.DATE, NamesColumns.PRICE, NamesColumns.KOL };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, columns, NamesColumns.DATE+ " LIKE "+tView4.getText(), null, null, null, null, null,
                Names.DEFAULT_SORT);
Оба варианта не работают, приложение при выполнении этих запросов слетает!
Что я не так делаю, может что-то в классе адаптере дописать?
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.06.2013, 13:36 #4
смотрите логи.
1
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
10.06.2013, 14:52  [ТС] #5
Помогите разобраться с этими логами!!!
При выполнении такого кода:
Java
1
2
3
4
final String[] columns = { NamesColumns.NAME , NamesColumns.DATE, NamesColumns.PRICE, NamesColumns.KOL };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, columns, NamesColumns.DATE+"=?", new String[]{(String) tView4.getText()}, null, null, null,
                Names.DEFAULT_SORT);
        final int i = c.getCount();
0
Миниатюры
Выборка из БД по заданному параметру  
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
10.06.2013, 16:08 #6
NullPointerException в классе day строка 52
1
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
12.06.2013, 11:54  [ТС] #7
При выполнении этого кода, тоже падает приложение (в логах: NullPointerException, строка 50)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(getBaseContext());
        SQLiteDatabase sqliteDB = dbhelper.getReadableDatabase();
        String selection;
        selection = NamesColumns.DATE+"LIKE"+tView4.getText();
        final String[] columns = { NamesColumns.NAME , NamesColumns.DATE, NamesColumns.PRICE, NamesColumns.KOL };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, null, selection, null, null, null,
                Names.DEFAULT_SORT);
        final int i = c.getCount();
        final int[] to = new int[] { R.id.text1,  R.id.text2, R.id.text3, R.id.text4};
        final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.list,
                c, columns, to);
        final ListView lv = (ListView) findViewById(R.id.listView1);        
        lv.setAdapter(adapter);
Подскажите, что можно сделать чтоб решить эту проблему? Спасибо!
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.06.2013, 12:01 #8
и какая из этих строк 50?
1
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
12.06.2013, 19:11  [ТС] #9
Извиняюсь, не посмотрел что номера строк не копируются!
Java
1
selection = NamesColumns.DATE+"LIKE"+tView4.getText();
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
12.06.2013, 22:31 #10
ну, здесь скорее всего tView4 null
1
SoloIlya
0 / 0 / 0
Регистрация: 28.05.2013
Сообщений: 64
13.06.2013, 17:50  [ТС] #11
Перед запуском передается значение этому TextView.

Добавлено через 6 минут
Попробовал сделать так:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
String textvieew = "18/5/2013";
final Context context = this;
    int rowId = 0;
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.day);
        DatabaseOpenHelper dbhelper = new DatabaseOpenHelper(getBaseContext());
        SQLiteDatabase sqliteDB = dbhelper.getReadableDatabase();
        final String[] columns = { NamesColumns.NAME , NamesColumns.DATE, NamesColumns.PRICE, NamesColumns.KOL };
        final Cursor c = sqliteDB.query(Names.TABLE_NAME, columns, NamesColumns.DATE+"=?", new String[]{"18/5/2013"}, null, null,
                Names.DEFAULT_SORT);
        final int i = c.getCount();
        final int[] to = new int[] { R.id.text1,  R.id.text2, R.id.text3, R.id.text4};
        final SimpleCursorAdapter adapter = new SimpleCursorAdapter(getApplicationContext(), R.layout.list,
                c, columns, to);
        final ListView lv = (ListView) findViewById(R.id.listView1);        
        lv.setAdapter(adapter);
Ошибок вроде нет, но нечего не находит. Дата у меня хранится в строке. Что я делаю не так?
0
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
13.06.2013, 19:41 #12
Java
1
final Cursor c = sqliteDB.query(Names.TABLE_NAME, columns, NamesColumns.DATE+" LIKE ?", new String[]{"18/5/2013"}, null, null, Names.DEFAULT_SORT);
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.06.2013, 19:41
Привет! Вот еще темы с ответами:

По заданному параметру найти и очистить диапазон, а не всю строку - VBA
В приложенном файле описана задача, с которой не могу справиться. Суть в том, что мне надо по заданному параметру найти и очистить...

Вывести список всех значений, соответствующих заданному параметру - VBA
Добрый день! подскажите пожалуйста, как выбирая в ячейке A1 ("лист1") ключ, получить список всех значений в колонках G:H из таблицы...

Описать процедуру maxmin (x, y) присваивает параметру х большее из вещественных чисел x и y, а параметру у -- меньшее - C++
Процедура maxmin (x, y) присваивает параметру х большее из вещественных чисел x и y, а параметру у -- меньшее. Описать данную процедуру и...

Выборка distinct по заданному условию - Oracle
Добрый день, уважаемые знатоки SQL! Довелось мне писать миграционные скрипты, и вот встала задачка, которую не могу придумать как...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
13.06.2013, 19:41
Ответ Создать тему
Опции темы

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