Урок 35. SQLite. Методы update и delete с указанием условия
Урок 35. SQLite. Методы update и delete с указанием условия
В этом уроке:
- используем методы update и delete с указанием условия
Click here to read this article!
- используем методы update и delete с указанием условия
Click here to read this article!
Последний раз редактировалось damager82 20 янв 2018, 16:36, всего редактировалось 14 раз.
Re: Урок 35. SQLite. Методы query и delete с указанием услов
Log.d(LOG_TAG, "--- Update mytabe: ---");
// подготовим значения для обновления
cv = new ContentValues();
а зачем мы обновляем cv? мы же его и так новый создаём при входе в onClick
// подготовим значения для обновления
cv = new ContentValues();
а зачем мы обновляем cv? мы же его и так новый создаём при входе в onClick
Re: Урок 35. SQLite. Методы query и delete с указанием услов
Верно, спасибо!alexly25 писал(а):а зачем мы обновляем cv? мы же его и так новый создаём при входе в onClick
Re: Урок 35. SQLite. Методы query и delete с указанием услов
и вам большое спасибо за сайт!)damager82 писал(а):Верно, спасибо!alexly25 писал(а):а зачем мы обновляем cv? мы же его и так новый создаём при входе в onClick
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Возможно, стоит предупредить о SQL injection при формировании SQL запроса тем способом, который показан в btnDel.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
можно ли создать бд на компе, затем перекинуть а потом открыть ее с помощью query?
Re: Урок 35. SQLite. Методы update и delete с указанием усло
можно, я использую утилиту sqlitestudio-2.0.26 , очень полезная вещ!3Gern писал(а):можно ли создать бд на компе, затем перекинуть а потом открыть ее с помощью query?
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
спасибо за программу, как видите я в этом деле новичок хотел спросить для такого способа есть статейки, уроки ?rezak90 писал(а):можно, я использую утилиту sqlitestudio-2.0.26 , очень полезная вещ!3Gern писал(а):можно ли создать бд на компе, затем перекинуть а потом открыть ее с помощью query?
Re: Урок 35. SQLite. Методы update и delete с указанием усло
всмысле для какого способа? как создать базу в этой проге? для этого надо знать хоть немножко SQL. В проге нажимаешь Alt+e и вводишь туда запрос.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Можно создать базу в Андроиде, перекинуть её на комп, заполнить данными и вернуть в Андроид.
Адроид создаёт две дополнительные таблицы:
CREATE TABLE android_metadata (locale TEXT)
содежит одну запись: ru_RU
CREATE TABLE sqlite_sequence(name,seq)
содержит имена таблиц и число записей - 1
Может быть, они нужны Андроиду, а может он сам их создаст при первом открытии.
Если используете Firefox, можно смотреть базу Firefox SQLite Manager'ом
Адроид создаёт две дополнительные таблицы:
CREATE TABLE android_metadata (locale TEXT)
содежит одну запись: ru_RU
CREATE TABLE sqlite_sequence(name,seq)
содержит имена таблиц и число записей - 1
Может быть, они нужны Андроиду, а может он сам их создаст при первом открытии.
Если используете Firefox, можно смотреть базу Firefox SQLite Manager'ом
Re: Урок 35. SQLite. Методы update и delete с указанием усло
rezak90, math64
скажем у меня есть бд заполненная данными, мне теперь нужно сделать приложение которая будет показывает содержимое этой бд.
скажем у меня есть бд заполненная данными, мне теперь нужно сделать приложение которая будет показывает содержимое этой бд.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
так если тебе только прочитать данные из бд нужно то в уроке 34 показано как считываются данные из бд. Это дело в пару строк3Gern писал(а):rezak90, math64
скажем у меня есть бд заполненная данными, мне теперь нужно сделать приложение которая будет показывает содержимое этой бд.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
извиняюсь что водил вас туда сюда, просто голова закипела, отдохнул думаю теперь доходчиво объясню, ладно поехали для того чтобы открыть бд с данными для просмотра мне нужно вручную бд с данными кидать в папку databases, я хотел бы узнать а как автоматизировать этот процесс? ну чтобы при установке приложений бд с данными автоматом копировалась в папку databasesrezak90 писал(а):так если тебе только прочитать данные из бд нужно то в уроке 34 показано как считываются данные из бд. Это дело в пару строк3Gern писал(а):rezak90, math64
скажем у меня есть бд заполненная данными, мне теперь нужно сделать приложение которая будет показывает содержимое этой бд.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
1. При отладке можно автоматизировать - добавить в Eclipse дополнительный build-step, копирующий файл базы данных на устройство.
2. В самой программе - она может соединиться с твойм компьютером по bluetooth, wi-fi или интернету и скачать файл.
На твоём компьютере должен стоять соответствущий сервер.
3. Если файл базы данных небольшой, его можно встроить в приложение, поместив в папку res/raw
2. В самой программе - она может соединиться с твойм компьютером по bluetooth, wi-fi или интернету и скачать файл.
На твоём компьютере должен стоять соответствущий сервер.
3. Если файл базы данных небольшой, его можно встроить в приложение, поместив в папку res/raw
Re: Урок 35. SQLite. Методы update и delete с указанием усло
А почему не использовать просто:
вместо масок и массивов:
Код: Выделить всё
int updCount = db.update("mytable", cv, "id = " + id, null);
Код: Выделить всё
int updCount = db.update("mytable", cv, "id = ?", new String[] { id });
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Для изменения одной записи - несущественно. Здесь - демонстрация того, что можно и так. (первый вариант продемонстрирован на delete).
Если измененяется много записей - лучше второй вариант (т.е. как в примере, при условии, что выделение new String[] вынесено за пределы цикла) + использование транзакции.
Если измененяется много записей - лучше второй вариант (т.е. как в примере, при условии, что выделение new String[] вынесено за пределы цикла) + использование транзакции.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
добрый день!
Вопросы:
1. Если я удаляю строку например c ID=3 и потом пытаюсь обновить ее то эклипс пишет значение 0. И действительно, когда я проверяю базу то данных с ID=3 уже нет и на то место ничего нельзя записать. Где об этом можно почитать почему так происходит.
2. У вас в коде появился импорт
но у меня при написании кода в ручную (без copy/paste) не потребовался такой импорт. с чем это связано?
Спасибо за ответы.
Вопросы:
1. Если я удаляю строку например c ID=3 и потом пытаюсь обновить ее то эклипс пишет значение 0. И действительно, когда я проверяю базу то данных с ID=3 уже нет и на то место ничего нельзя записать. Где об этом можно почитать почему так происходит.
2. У вас в коде появился импорт
Код: Выделить всё
import ru.startandroid.develop.p0341simpelsqlite.R;
Спасибо за ответы.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
вы же эту строку удалили, соответственно туда уже ничего не запихнёшь так как если ID - autoincrement то при каждом добавлении ID будет автоматом увеличиваться на 1 и соответственно если у вас идёт запись в базе 1/2/3/5 то вставить значения с ID=4 уже не выйдет. Это в принципе и не надо, потому как строгий порядок здесь не нужен.Roman писал(а):добрый день!
Вопросы:
1. Если я удаляю строку например c ID=3 и потом пытаюсь обновить ее то эклипс пишет значение 0. И действительно, когда я проверяю базу то данных с ID=3 уже нет и на то место ничего нельзя записать. Где об этом можно почитать почему так происходит.
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Спасибо! Понял!rezak90 писал(а): вы же эту строку удалили, соответственно туда уже ничего не запихнёшь так как если ID - autoincrement то при каждом добавлении ID будет автоматом увеличиваться на 1 и соответственно если у вас идёт запись в базе 1/2/3/5 то вставить значения с ID=4 уже не выйдет. Это в принципе и не надо, потому как строгий порядок здесь не нужен.