SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
-
aleksbim
- Сообщения: 81
- Зарегистрирован: 02 фев 2013, 02:52
Сообщение
aleksbim » 16 окт 2015, 14:43
Код: Выделить всё
int x=1;
do {
String categ = c.getString(category_ColIndex);
String num=Integer.toString(x);
cv.put("num_category", num);
cv.put("category", categ);
Log.d("my_logs","num_category="+x+", category="+categ+", numString="+num );
db_rashody.update("tableRashody", cv, "category = ?",
new String[] { num });
x=x+1;
} while (c.moveToNext());
При удалении, например, строки 1, значения в num_category нужно перенумеровать начиная с 1.
-
Вложения
-
- рис.JPG (12.71 КБ) 2820 просмотров
-
Foenix
- Сообщения: 4201
- Зарегистрирован: 20 окт 2012, 12:01
Сообщение
Foenix » 17 окт 2015, 21:51
ну ты же апдейтишь на то же самое число where =1 апдейт на 1 идет. Смысл?
-
aleksbim
- Сообщения: 81
- Зарегистрирован: 02 фев 2013, 02:52
Сообщение
aleksbim » 20 окт 2015, 17:56
Спасибо за ответ, но я не могу понять, что конкретно в коде не так. Код выполняется по факту удаления 1-й строки. Таблица на выходе:
-
Вложения
-
- db2.JPG (11.73 КБ) 2798 просмотров
-
Foenix
- Сообщения: 4201
- Зарегистрирован: 20 окт 2012, 12:01
Сообщение
Foenix » 20 окт 2015, 22:30
db_rashody.update("tableRashody", cv, "category = ?", new String[] { num });
тут написано, что обновляется строка где категория равна Integer.toString(x); Т.е. категория равна 1 (для 1 цикла). Где у тебя такая категория, можешь сказать? какая строчка-то? Ты перепутал столбцы таблицы.
Второе - судя по заданию, что ты писал, тебе нужно прибавлять номера, поэтому в cv тебе нужно указывать num-1 (для примера), а обновлять столбик, где num_category =num. Т.е. со сдвигом.
Хотя мне эта затея совершенно не нравится, что-то сомнение у меня вызывает сама постановка задачи.
-
aleksbim
- Сообщения: 81
- Зарегистрирован: 02 фев 2013, 02:52
Сообщение
aleksbim » 21 окт 2015, 17:55
Спасибо, достаточно понятно объяснили! Заработало!