Страница 1 из 9

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

Добавлено: 21 ноя 2011, 03:00
damager82
В этом уроке:
- используем методы update и delete с указанием условия


Click here to read this article!

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

Добавлено: 18 июл 2012, 16:22
alexly25
Log.d(LOG_TAG, "--- Update mytabe: ---");
// подготовим значения для обновления
cv = new ContentValues();

а зачем мы обновляем cv? мы же его и так новый создаём при входе в onClick

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

Добавлено: 18 июл 2012, 16:58
damager82
alexly25 писал(а):а зачем мы обновляем cv? мы же его и так новый создаём при входе в onClick
Верно, спасибо!

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

Добавлено: 18 июл 2012, 17:57
alexly25
damager82 писал(а):
alexly25 писал(а):а зачем мы обновляем cv? мы же его и так новый создаём при входе в onClick
Верно, спасибо!
и вам большое спасибо за сайт!)

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

Добавлено: 28 июл 2012, 10:26
zmey
Возможно, стоит предупредить о SQL injection при формировании SQL запроса тем способом, который показан в btnDel.

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

Добавлено: 30 июл 2012, 13:38
3Gern
можно ли создать бд на компе, затем перекинуть а потом открыть ее с помощью query?

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

Добавлено: 30 июл 2012, 13:45
rezak90
3Gern писал(а):можно ли создать бд на компе, затем перекинуть а потом открыть ее с помощью query?
можно, я использую утилиту sqlitestudio-2.0.26 , очень полезная вещ!

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

Добавлено: 30 июл 2012, 14:56
3Gern
rezak90 писал(а):
3Gern писал(а):можно ли создать бд на компе, затем перекинуть а потом открыть ее с помощью query?
можно, я использую утилиту sqlitestudio-2.0.26 , очень полезная вещ!
спасибо за программу, как видите я в этом деле новичок хотел спросить для такого способа есть статейки, уроки ?

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

Добавлено: 30 июл 2012, 15:02
rezak90
всмысле для какого способа? как создать базу в этой проге? для этого надо знать хоть немножко SQL. В проге нажимаешь Alt+e и вводишь туда запрос.

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

Добавлено: 30 июл 2012, 15:14
math64
Можно создать базу в Андроиде, перекинуть её на комп, заполнить данными и вернуть в Андроид.
Адроид создаёт две дополнительные таблицы:
CREATE TABLE android_metadata (locale TEXT)
содежит одну запись: ru_RU
CREATE TABLE sqlite_sequence(name,seq)
содержит имена таблиц и число записей - 1
Может быть, они нужны Андроиду, а может он сам их создаст при первом открытии.
Если используете Firefox, можно смотреть базу Firefox SQLite Manager'ом

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

Добавлено: 30 июл 2012, 17:15
3Gern
rezak90, math64
скажем у меня есть бд заполненная данными, мне теперь нужно сделать приложение которая будет показывает содержимое этой бд.

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

Добавлено: 30 июл 2012, 17:31
rezak90
3Gern писал(а):rezak90, math64
скажем у меня есть бд заполненная данными, мне теперь нужно сделать приложение которая будет показывает содержимое этой бд.
так если тебе только прочитать данные из бд нужно то в уроке 34 показано как считываются данные из бд. Это дело в пару строк ;)

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

Добавлено: 30 июл 2012, 18:06
3Gern
rezak90 писал(а):
3Gern писал(а):rezak90, math64
скажем у меня есть бд заполненная данными, мне теперь нужно сделать приложение которая будет показывает содержимое этой бд.
так если тебе только прочитать данные из бд нужно то в уроке 34 показано как считываются данные из бд. Это дело в пару строк ;)
извиняюсь что водил вас туда сюда, просто голова закипела, отдохнул думаю теперь доходчиво объясню, ладно поехали для того чтобы открыть бд с данными для просмотра мне нужно вручную бд с данными кидать в папку databases, я хотел бы узнать а как автоматизировать этот процесс? ну чтобы при установке приложений бд с данными автоматом копировалась в папку databases

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

Добавлено: 30 июл 2012, 18:24
math64
1. При отладке можно автоматизировать - добавить в Eclipse дополнительный build-step, копирующий файл базы данных на устройство.
2. В самой программе - она может соединиться с твойм компьютером по bluetooth, wi-fi или интернету и скачать файл.
На твоём компьютере должен стоять соответствущий сервер.
3. Если файл базы данных небольшой, его можно встроить в приложение, поместив в папку res/raw

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

Добавлено: 30 июл 2012, 18:56
3Gern
math64 спс

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

Добавлено: 14 авг 2012, 11:31
dlnsk
А почему не использовать просто:

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

int updCount = db.update("mytable", cv, "id = " + id, null);
вместо масок и массивов:

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

int updCount = db.update("mytable", cv, "id = ?", new String[] { id });

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

Добавлено: 14 авг 2012, 12:11
math64
Для изменения одной записи - несущественно. Здесь - демонстрация того, что можно и так. (первый вариант продемонстрирован на delete).
Если измененяется много записей - лучше второй вариант (т.е. как в примере, при условии, что выделение new String[] вынесено за пределы цикла) + использование транзакции.

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

Добавлено: 10 сен 2012, 22:18
Roman
добрый день!
Вопросы:
1. Если я удаляю строку например c ID=3 и потом пытаюсь обновить ее то эклипс пишет значение 0. И действительно, когда я проверяю базу то данных с ID=3 уже нет и на то место ничего нельзя записать. Где об этом можно почитать почему так происходит.

2. У вас в коде появился импорт

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

import ru.startandroid.develop.p0341simpelsqlite.R;
но у меня при написании кода в ручную (без copy/paste) не потребовался такой импорт. с чем это связано?
Спасибо за ответы.

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

Добавлено: 10 сен 2012, 22:45
rezak90
Roman писал(а):добрый день!
Вопросы:
1. Если я удаляю строку например c ID=3 и потом пытаюсь обновить ее то эклипс пишет значение 0. И действительно, когда я проверяю базу то данных с ID=3 уже нет и на то место ничего нельзя записать. Где об этом можно почитать почему так происходит.
вы же эту строку удалили, соответственно туда уже ничего не запихнёшь так как если ID - autoincrement то при каждом добавлении ID будет автоматом увеличиваться на 1 и соответственно если у вас идёт запись в базе 1/2/3/5 то вставить значения с ID=4 уже не выйдет. Это в принципе и не надо, потому как строгий порядок здесь не нужен.

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

Добавлено: 11 сен 2012, 00:12
Roman
rezak90 писал(а): вы же эту строку удалили, соответственно туда уже ничего не запихнёшь так как если ID - autoincrement то при каждом добавлении ID будет автоматом увеличиваться на 1 и соответственно если у вас идёт запись в базе 1/2/3/5 то вставить значения с ID=4 уже не выйдет. Это в принципе и не надо, потому как строгий порядок здесь не нужен.
Спасибо! Понял!