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

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

Добавлено: 06 май 2014, 21:55
Foenix
а говоришь хочу
хочу получить количество сложенных строк
у меня это не согласуется как-то.
Фигня какая-то.
Посчитать строки того же запроса будет count(...) ну используй его, я бы подсказала, но не въеду что нужно..причем тут удаление..
если нужно действительно удалить все одинаковые строки - это другой запрос..

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

Добавлено: 07 май 2014, 13:53
alexmx
Подожди родная, а как методом count(...) выдернуть количество нужных строк. В офф доках в курсоре есть метод getCount() но он возвращает общее количество строк в курсоре, а мне надо количество строк с определенным значением вот и начал извращаться через удаление))).

Мне в принципе подходит метод delete, так как в любом случае я буду чистить таблицу

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

Добавлено: 07 май 2014, 17:15
alexmx
С ошибкой разобрался, но метод count(...) актуален)))

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

Добавлено: 07 май 2014, 19:07
Foenix
это не метод! это язык такой) язык запросов.
select count * from .... where .... я тебе могу таким образом что хочешь посчитать) ну или почти все

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

Добавлено: 07 май 2014, 19:34
alexmx
Ну ты то можешь посчитать, а я то нет))) Единственное что я знаю это:
execSQL("ЗАПРОС КАКОЙ НИДЬ"). Ты мне лучше ссылку для вразумления кинь, по запросам sql)))

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

Добавлено: 07 май 2014, 21:04
Viewer
За 5 минут на пальцах язык запросов sql не объяснить, на изучение нужно потратить время. Можно книжки почитать. Желательно скачать какую-нибудь удобную программку для экспериментов, создать простенькую БД и потренироваться строить запросы сразу видя результаты. Правда многие из этих программ, наиболее функциональных, платные.
А справочник по запросам есть на оф сайте SQLite - http://www.sqlite.org/lang_expr.html если в нем хорошо разберетесь, то тоже сможете
таким образом что хочешь посчитать) ну или почти все
Я экспериментировал с этой утилитой - http://sqlitedog.com/ru/idx.html она тоже платная, но есть триал, кажется на месяц, потом часть функционала обрезается, но этого времени вполне может хватить на обучение.

SQLite вещь конечно хорошая запросы выполняет быстро, даже при достаточно больших объемах. Но это когда база уже готовая, либо заполняется пользователем постепенно (как телефонный справочник или блокнот). Но когда необходимо сформировать базу и вставлять большое количество данных, то тут могут быть тормоза, хотя есть приемы увеличить производительность insert-ов, я перепробовал все, но приемлемого результата добиться так и не удалось.

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

Добавлено: 07 май 2014, 21:35
Foenix
alexmx писал(а):Ну ты то можешь посчитать, а я то нет))) Единственное что я знаю это:
execSQL("ЗАПРОС КАКОЙ НИДЬ"). Ты мне лучше ссылку для вразумления кинь, по запросам sql)))
да я не по интернету про запросы училась, даже не знаю что посоветовать
поинтересуюсь, может и найду что-нибудь
Справочник - дали выше, но это не учит делать запросы. Программа (даже если там есть построитель запросов - тоже особо не поможет) я уже поняла, тебе разобраться надо)
Поможем)

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

Добавлено: 15 май 2014, 12:31
Дмитрий Х.
А как обстоят дела с Bind - переменными и индексами?
Предусмотрено ли их использование в SQLite?

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

Добавлено: 15 май 2014, 12:40
Foenix
что это такое?

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

Добавлено: 15 май 2014, 13:57
Дмитрий Х.
вот хорошая статься про связанные переменные http://habrahabr.ru/post/148446/

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

Добавлено: 15 май 2014, 22:12
Foenix
параметры в запросе - есть.
С какой целью вам нужны эти переменные?

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

Добавлено: 10 июн 2014, 10:11
sievmi
Здравствуйте. У меня в базе есть таблица, но в ней нет поля id, как мне удалять или обновлять строку зная ее содержимое?

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

Добавлено: 11 июн 2014, 07:49
Foenix
id в каждой таблице необходим. ЭТо простой искусственный ключ каждой строки. Но есть и естественные ключи, т.е. те, которые есть и однозначно идентифицируют строку таблицы (т.е. не могут повторяться для других строчек). По ним тоже можно удалять.
Если таблица не ваша, и добавить нету возможности - можно удалять в общем случае добавив в условие те поля, которые для этой строки уникальны (полный естественный ключ). Их может быть несколько. Например, если это таблица с данными личностей, то вариантом может быть - 1) паспортные данные 2) фио и дата рождения 3) фио и адрес жительства , но 2 и 3 тоже могут повторяться для разных людей, поэтому и нужен id
В безвыходных ситуациях можно все поля добавить в условие. Но все равно это будет неправильно с точки зрения ключей.

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

Добавлено: 12 июн 2014, 10:03
sievmi
Вроде бы понял вас, но все-таки не совсем ясно как мне решить мою проблему.
Таблица моя и я могу добавить в нее поле id. Но у меня следующая ситуация: мне приходит строка s, и я должен из базы получить данные из строки, в которой поле name равно s(гарантированно, что все значения в полях name уникальны).
Я пишу вот так: db.delete("names","name="+s, null); но это не работает.
И еще один вопрос по такой же ситуации, как мне получить id нужной мне строчки?

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

Добавлено: 12 июн 2014, 10:09
KamiSempai
sievmi писал(а):Я пишу вот так: db.delete("names","name="+s, null); но это не работает.
Нужно так:

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

db.delete("names","name=?", new String[] {s});

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

Добавлено: 12 июн 2014, 10:16
Foenix
как получить id, если у вас его нет в таблице?
странный вопрос. Никак.
Второе, если таблица ваша, то добавляйте id.

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

Добавлено: 30 июн 2014, 20:40
finberg
Rover писал(а):У меня в приложении будет несколько Activity, поочередно работающих с базой данных.
Вопрос: когда я подключаюсь к БД в главной Activity, это подключение создается для приложения в целом или только для текущей Activity?
Т.е. надо ли переподключаться при смене Activity, и что происходит с текущим подключением, когда я перемещаюсь между разными активностями?
Кто-нибудь может просвятить по этой ситуации?

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

Добавлено: 06 авг 2014, 11:31
allexan
Можно ли в методе delete указать сложное условие для удаления записей
Пример из следующего урока:
- удалить все страны Азии с населением больше 100

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

Добавлено: 06 авг 2014, 12:19
KamiSempai
allexan писал(а):Можно ли в методе delete указать сложное условие для удаления записей
Пример из следующего урока:
- удалить все страны Азии с населением больше 100
Можно. Нужно прописать это в параметрах условия:
[syntax=java]db.delete("mytable", "region = ? AND people > ?", new String[] {"Азия" , Integer.toString(100)});[/syntax]

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

Добавлено: 06 авг 2014, 12:25
klblk
allexan писал(а):Можно ли в методе delete указать сложное условие для удаления записей
Пример из следующего урока:
- удалить все страны Азии с населением больше 100
http://www.sqlite.org/lang_delete.html