Урок 35. SQLite. Методы update и delete с указанием условия

Обсуждение уроков
RuslanLion
Сообщения: 6
Зарегистрирован: 14 май 2015, 21:48

Re: Урок 35. SQLite. Методы update и delete с указанием усло

Сообщение RuslanLion » 02 авг 2015, 14:08

Ребят, как зделать что бы все что есть в таблице отобразилось в TextViev? А то я делаю и у меня только последняя запись отображаеться

alex1
Сообщения: 12
Зарегистрирован: 22 июл 2015, 13:45

Re: Урок 35. SQLite. Методы update и delete с указанием усло

Сообщение alex1 » 03 авг 2015, 13:41

RuslanLion писал(а):Ребят, как зделать что бы все что есть в таблице отобразилось в TextViev? А то я делаю и у меня только последняя запись отображаеться
Наверное, вы написали типа такого:

Код: Выделить всё

TextView tv1;
...
        do {
          tv1.setText("ID = " + c.getInt(idColIndex) + ", name = "
                  + c.getString(nameColIndex) + ", email = "
                  + c.getString(emailColIndex)));
        } while (c.moveToNext());
А надо типа такого:

Код: Выделить всё

TextView tv1;
String tmp1 = "";
...
        do {
          tmp1 = tmp1 + "ID = " + c.getInt(idColIndex) + ", name = "
                  + c.getString(nameColIndex) + ", email = "
                  + c.getString(emailColIndex)) + ".  ";
        } while (c.moveToNext());
        tv.setText(tmp1);
И, мне кажется, ListView для этих целей больше подойдёт.

RuslanLion
Сообщения: 6
Зарегистрирован: 14 май 2015, 21:48

Re: Урок 35. SQLite. Методы update и delete с указанием усло

Сообщение RuslanLion » 03 авг 2015, 17:33

alex1 писал(а):
RuslanLion писал(а):Ребят, как зделать что бы все что есть в таблице отобразилось в TextViev? А то я делаю и у меня только последняя запись отображаеться
Наверное, вы написали типа такого:

Код: Выделить всё

TextView tv1;
...
        do {
          tv1.setText("ID = " + c.getInt(idColIndex) + ", name = "
                  + c.getString(nameColIndex) + ", email = "
                  + c.getString(emailColIndex)));
        } while (c.moveToNext());
А надо типа такого:

Код: Выделить всё

TextView tv1;
String tmp1 = "";
...
        do {
          tmp1 = tmp1 + "ID = " + c.getInt(idColIndex) + ", name = "
                  + c.getString(nameColIndex) + ", email = "
                  + c.getString(emailColIndex)) + ".  ";
        } while (c.moveToNext());
        tv.setText(tmp1);
И, мне кажется, ListView для этих целей больше подойдёт.
Спасибо большое, все заработало. Если можна обьясните почему именно так? " tmp1 = tmp1 +

alex1
Сообщения: 12
Зарегистрирован: 22 июл 2015, 13:45

Re: Урок 35. SQLite. Методы update и delete с указанием усло

Сообщение alex1 » 05 авг 2015, 06:20

RuslanLion писал(а): Спасибо большое, все заработало. Если можна обьясните почему именно так? " tmp1 = tmp1 +
Таблица - это набор строк.
Вы отображаете набор строк в одну строку TextView.
Как это сделать?
Только собрать все строки из таблицы в одну строку в цикле и затем её присвоить тексту в TextView.
tmp = tmp + ...
Это объединение строк tmp и то что за плюсом и присваивание всего этого снова строке tmp. И так далее в цикле по всем строкам таблицы. В итоге в одной строке будет вся таблица.
Если так не нравится, есть варианты, например , tmp.concat(...) - добавит к строке tmp то, что в скобках.
Но мне кажется, так не совсем удобно. Красивей было бы если использовать ListView - одной строке таблицы бы соответствовала одна строка списка.

Abrog
Сообщения: 2
Зарегистрирован: 29 ноя 2015, 22:32

Re: Урок 35. SQLite. Методы update и delete с указанием усло

Сообщение Abrog » 29 ноя 2015, 23:09

Добрый день!
Почитал ветку, возник вопрос. Как всё таки синхронизировать ID списка (ArrayList) и ID базы? Чтобы прямо их соотносить .
Нашел, конечно, способ через cursor.moveToPosition(ID_списка), получение оттуда ID базы через имя колонки и уже тогда update/delete.

В Уроке об этом нигде не сказано и вообще не очевидно. И... может быть есть способ проще? А то похоже на костыль :-/

mansur
Сообщения: 1
Зарегистрирован: 24 дек 2018, 02:42

Re: Урок 35. SQLite. Методы update и delete с указанием усло

Сообщение mansur » 24 дек 2018, 02:46

А как можно в этот кейс R.id.btnRead: добавить функцию чтобы она выводила в ListView все записи БД? За ранее спасибо.

Ответить