http://sql.learncodethehardway.org/book/alexmx писал(а):Ну ты то можешь посчитать, а я то нет))) Единственное что я знаю это:
execSQL("ЗАПРОС КАКОЙ НИДЬ"). Ты мне лучше ссылку для вразумления кинь, по запросам sql)))
Урок 35. SQLite. Методы update и delete с указанием условия
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Дмитрий Х. писал(а):А как обстоят дела с Bind - переменными и индексами?
Предусмотрено ли их использование в SQLite?
http://developer.android.com/reference/ ... ement.html
[syntax=java5]
SQLiteDatabase db = dbHelper.getWritableDatabase();
public Cursor fetchByCountryCode(String strCountryCode)
{
/**
* SELECT * FROM Country
* WHERE code = US
*/
return cursor = db.query(true,
"Country", /**< Table name. */
null, /**< All the fields that you want the
cursor to contain; null means all.*/
"code=?", /**< WHERE statement without the WHERE clause. */
new String[] { strCountryCode }, /**< Selection arguments. */
null, null, null, null);
}
/** Fill a cursor with the results. */
Cursor c = fetchByCountryCode("US");
/** Retrieve data from the fields. */
String strCountryCode = c.getString(cursor.getColumnIndex("code"));
/** Assuming that you have a field/column with the name "country_name" */
String strCountryName = c.getString(cursor.getColumnIndex("country_name"));
[/syntax]
-
- Сообщения: 9
- Зарегистрирован: 10 сен 2014, 15:28
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Здравствуйте. Подскажите пожалуйста , как именно формируется выражения WHERE в строке whereClause , при помощи класа SQLiteDatabase метода delete? Что оно должно содержать и чего нельзя туда добавлять? Что оно с себя представляет?
Имя моей таблицы - "mytable"
Выражение WHERE - "id = " + id ( что она из себя представляет и почему именно так записывается , не ясно)
Раздел для замены строки - null
Код: Выделить всё
db.delete("mytable", "id = " + id, null);
Выражение WHERE - "id = " + id ( что она из себя представляет и почему именно так записывается , не ясно)
Раздел для замены строки - null
- KamiSempai
- Сообщения: 1339
- Зарегистрирован: 17 фев 2012, 21:23
- Откуда: Мордор
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Советую изучить SQL, тогда, на подобные вопросы, ответы будут находиться сразу.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.
Хватит таскать макулатуру на тренировку! Используй T Note.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
ничего сложного тут нет, простой пример:WindStraider писал(а):Здравствуйте. Подскажите пожалуйста , как именно формируется выражения WHERE в строке whereClause , при помощи класа SQLiteDatabase метода delete? Что оно должно содержать и чего нельзя туда добавлять? Что оно с себя представляет?
Имя моей таблицы - "mytable"Код: Выделить всё
db.delete("mytable", "id = " + id, null);
Выражение WHERE - "id = " + id ( что она из себя представляет и почему именно так записывается , не ясно)
Раздел для замены строки - null
[syntax=java5]String selectQuery = "SELECT (*) FROM " + TABLE_TODO + " WHERE "
+ KEY_ID + " = " + todo_id;[/syntax]
где все, что в кавычках - строка, остальное строковые переменные.
аналогично, строка в которую подставляется переменная. тут вы можете вместо переменной подставлять "?s", а вместо null в третьем аргументе передавать подставляемые значения.Выражение WHERE - "id = " + id ( что она из себя представляет и почему именно так записывается , не ясно)
Re: Урок 35. SQLite. Методы update и delete с указанием усло
не ?s, а просто ?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
-
- Сообщения: 9
- Зарегистрирован: 10 сен 2014, 15:28
Re: Урок 35. SQLite. Методы update и delete с указанием усло
То есть вместо строки "id = " можно написать что угодно? Или должны быть соблюдёны некие правила , формирования выражения?altwin писал(а):ничего сложного тут нет, простой пример:WindStraider писал(а):Здравствуйте. Подскажите пожалуйста , как именно формируется выражения WHERE в строке whereClause , при помощи класа SQLiteDatabase метода delete? Что оно должно содержать и чего нельзя туда добавлять? Что оно с себя представляет?
Имя моей таблицы - "mytable"Код: Выделить всё
db.delete("mytable", "id = " + id, null);
Выражение WHERE - "id = " + id ( что она из себя представляет и почему именно так записывается , не ясно)
Раздел для замены строки - null
[syntax=java5]String selectQuery = "SELECT (*) FROM " + TABLE_TODO + " WHERE "
+ KEY_ID + " = " + todo_id;[/syntax]
где все, что в кавычках - строка, остальное строковые переменные.аналогично, строка в которую подставляется переменная. тут вы можете вместо переменной подставлять "?s", а вместо null в третьем аргументе передавать подставляемые значения.Выражение WHERE - "id = " + id ( что она из себя представляет и почему именно так записывается , не ясно)
Код: Выделить всё
db.delete("mytable", "id = " + id, null);
-
- Сообщения: 9
- Зарегистрирован: 10 сен 2014, 15:28
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Обнаружил что проблема в том что когда я удаляю все строки , а потом добавляю новые , то порядковый номер " ID" новых строк , добавляются по отнашению с удаленными строками. Например :
Шаг 1. мы создали 100 первых строк "hello"
Шаг 2. удалили 100 этих строк "hello"
Шаг 3.добавили новую строку "Thanks"
Но почему то порядковый номер (_ID) строки "Thanks" равен 101 , а не просто 1 .
Как можно сделать что бы порядковый номер , как то обнулялся , или какие могут быть тут варианты ?
Шаг 1. мы создали 100 первых строк "hello"
Шаг 2. удалили 100 этих строк "hello"
Шаг 3.добавили новую строку "Thanks"
Но почему то порядковый номер (_ID) строки "Thanks" равен 101 , а не просто 1 .
Как можно сделать что бы порядковый номер , как то обнулялся , или какие могут быть тут варианты ?
Re: Урок 35. SQLite. Методы update и delete с указанием усло
можешь сам руководить и заполнять ID, но тогда сам и должен следить за уникальностью. В том, что он идет далее не с 1 нет никакой проблемы.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
-
- Сообщения: 9
- Зарегистрирован: 10 сен 2014, 15:28
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Та , всем спасибо кто искрене пытается помоч.
-
- Сообщения: 9
- Зарегистрирован: 10 сен 2014, 15:28
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Как так , нет никакой проблемы. А если я исчерпаю 8-байтный счетчик?То есть число идентификаторов его исчерпает? Будет ошибка. Или Вы хотите сказать что я не прав?Foenix писал(а):можешь сам руководить и заполнять ID, но тогда сам и должен следить за уникальностью. В том, что он идет далее не с 1 нет никакой проблемы.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
это тип long, он идет до 2 в 63й степени. Исчерпаешь?
для тех кому мало, для уникального id есть другие штуки. Но я думаю - что андроид не та вещь, куда стоит записывать-стирать-записывать СТОЛЬКО данных.
для тех кому мало, для уникального id есть другие штуки. Но я думаю - что андроид не та вещь, куда стоит записывать-стирать-записывать СТОЛЬКО данных.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Верно. Вообще то при переполнении, начинают заполняться удаленные строки. Так что место всегда будет.Foenix писал(а):это тип long, он идет до 2 в 63й степени. Исчерпаешь?
для тех кому мало, для уникального id есть другие штуки. Но я думаю - что андроид не та вещь, куда стоит записывать-стирать-записывать СТОЛЬКО данных.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
А как можно идентифицирывать "уникальный идентификатор" по данным которые находятся в колонках?
Ну или как то сделать по этому типу , который удаляет строку , ссылаясь на строковые данные а не "идентификатор"
delete from table where field = 'Loko@mail.ru'
Мне нужно удалить строку , по нажатию кнопки , но при этом не вводить "ID" строки , как указанно у вас в примере
Ну или как то сделать по этому типу , который удаляет строку , ссылаясь на строковые данные а не "идентификатор"
delete from table where field = 'Loko@mail.ru'
Мне нужно удалить строку , по нажатию кнопки , но при этом не вводить "ID" строки , как указанно у вас в примере
Re: Урок 35. SQLite. Методы update и delete с указанием усло
ну а что? так и удаляйте
правда, обычно строки не удаляются по такому условию. Условия сравнения строк чаще используются при поиске, там есть предложение "like", а так же символы % и ? заменяющие несколько или 1 любой символ.
Обязательно так же учитыватЬ, что строки могут быть в разных регистрах, поэтому обычно сравнивают их, переводя в UPPPER CASE. Но с русскими буквами в этом случае проблемы.
правда, обычно строки не удаляются по такому условию. Условия сравнения строк чаще используются при поиске, там есть предложение "like", а так же символы % и ? заменяющие несколько или 1 любой символ.
Обязательно так же учитыватЬ, что строки могут быть в разных регистрах, поэтому обычно сравнивают их, переводя в UPPPER CASE. Но с русскими буквами в этом случае проблемы.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Ой спасибо. Но так не удаляется , выскакивают ошибки.Foenix писал(а):ну а что? так и удаляйте
правда, обычно строки не удаляются по такому условию. Условия сравнения строк чаще используются при поиске, там есть предложение "like", а так же символы % и ? заменяющие несколько или 1 любой символ.
Обязательно так же учитыватЬ, что строки могут быть в разных регистрах, поэтому обычно сравнивают их, переводя в UPPPER CASE. Но с русскими буквами в этом случае проблемы.
Может приведете пример ?
А как можно идентифицирывать "уникальный идентификатор" по данным которые находятся в колонках (строки)?
Ответьте на 2 вопроса пожалуйста.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
пример привести не могу, т.к. не знаю что вы там задумали.Mini писал(а): Ой спасибо. Но так не удаляется , выскакивают ошибки.
Может приведете пример ?
А как можно идентифицирывать "уникальный идентификатор" по данным которые находятся в колонках (строки)?
Ответьте на 2 вопроса пожалуйста.
Чтобы понять "выскакивают ошибки" - нужно привести код а так же лог - какие именно ошибки выскакивают, иначе это все будет гадание на кофейной гуще.
Вторую фразу я вообще не поняла - что значит "идентифицировать уникальный идентификатор"? И главное, зачем?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 35. SQLite. Методы update и delete с указанием усло
delete from table where field = 'Loko@mail.ru'Foenix писал(а):пример привести не могу, т.к. не знаю что вы там задумали.Mini писал(а): Ой спасибо. Но так не удаляется , выскакивают ошибки.
Может приведете пример ?
А как можно идентифицирывать "уникальный идентификатор" по данным которые находятся в колонках (строки)?
Ответьте на 2 вопроса пожалуйста.
Чтобы понять "выскакивают ошибки" - нужно привести код а так же лог - какие именно ошибки выскакивают, иначе это все будет гадание на кофейной гуще.
Вторую фразу я вообще не поняла - что значит "идентифицировать уникальный идентификатор"? И главное, зачем?
Удаляет строку Loko@mail.ru
Вы написали что можно использывать команды SQL в андройде. Но что бы их использывать , недостаточно просто написать эту (delete from table where field = 'Loko@mail.ru' ) строку в компиляторе , что бы её удалить . Необходима обертка , которая даёт доступ к базе.
Так через какой то метод нужно отправлять SQL команды , или как то еще ?
Можите привести пример, удаляния 1 cтроки из You@mail.ru колонки
1 | Son@mail.ru
2 | You@mail.ru
5 | We@@mail.ru
10| our@@mail.ru
Вы же этому учили на 35 уроке .Смотите. Что бы удалить строку , нужно найти ее уникальный идентификатор :Foenix писал(а):Mini писал(а): Вторую фразу я вообще не поняла - что значит "идентифицировать уникальный идентификатор"? И главное, зачем?
String id="111";
Mydb.delete(colBase.TABLE_NAME, "_id="+id ,null); удаляем 111 строку
Пример удаления : известно строковое значение строки "Hello", но неизвестно какой у неё "уникальный идентификатор" . Значит нужно тайти по значению строку её "уникальный идентификатор" . Найдя его , строку можно будет удалить используя метод метода delete ,класса SQLiteDatabase.
.
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Я буду удалять строку не по "уникальному идентификатору" а по названию колонки , в которой записаны адреса. Допустим она называется "FIELD_NAME"
public static final String FIELD_NAME = "contact_table";
String email="You@mail.ru";
Mydb.delete(colBase.TABLE_NAME, "contact_table = " + "'" + email + "'" ,null);
удаляем "You@mail.ru"
Товарищ, дорогой. Может хватит уже всех хаять при каждом ответе?
public static final String FIELD_NAME = "contact_table";
String email="You@mail.ru";
Mydb.delete(colBase.TABLE_NAME, "contact_table = " + "'" + email + "'" ,null);
удаляем "You@mail.ru"
Товарищ, дорогой. Может хватит уже всех хаять при каждом ответе?
Re: Урок 35. SQLite. Методы update и delete с указанием усло
Правильно понимаю, что строки кода
в case R.id.btnUpd: и case R.id.btnDel влияют только на то, что в логах не выводится запись об обновлении или удалении записи? Или там какой-то более глубокий смысл?
Код: Выделить всё
if (id.equalsIgnoreCase("")) {
break;
}