Проблема со вложенным запросом
Проблема со вложенным запросом
Добрый день, уважаемые android developer's
Возник следующий вопрос.
При попытке создания курсора, содержащего вложенный запрос, происходит ошибка.
Запрос выглядит так:
String sqlQuery = "SELECT word FROM words WHERE _id IN (SELECT s_id FROM synonyms WHERE w_id='123')";
Cursor Cursor = database.rawQuery(sqlQuery3, new String[] {});
PS: параметры не указывал, чтобы было меньше ошибок.
Другой вариант также не сработал:
Cursor friendCursor = database.query(TABLE_NAME,null,selection,selectionArgs,null,null,null);
Данный запрос работает при прямой работе с БД ч/з BD Browser.
Подскажите, каким образом работать со вложенными запросами?
Возник следующий вопрос.
При попытке создания курсора, содержащего вложенный запрос, происходит ошибка.
Запрос выглядит так:
String sqlQuery = "SELECT word FROM words WHERE _id IN (SELECT s_id FROM synonyms WHERE w_id='123')";
Cursor Cursor = database.rawQuery(sqlQuery3, new String[] {});
PS: параметры не указывал, чтобы было меньше ошибок.
Другой вариант также не сработал:
Cursor friendCursor = database.query(TABLE_NAME,null,selection,selectionArgs,null,null,null);
Данный запрос работает при прямой работе с БД ч/з BD Browser.
Подскажите, каким образом работать со вложенными запросами?
Re: Проблема со вложенным запросом
Какая?происходит ошибка.
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: Проблема со вложенным запросом
w_id='123' числа пишутся без кавычек.rsdev писал(а):Добрый день, уважаемые android developer's
Возник следующий вопрос.
При попытке создания курсора, содержащего вложенный запрос, происходит ошибка.
Запрос выглядит так:
String sqlQuery = "SELECT word FROM words WHERE _id IN (SELECT s_id FROM synonyms WHERE w_id='123')";
Cursor Cursor = database.rawQuery(sqlQuery3, new String[] {});
PS: параметры не указывал, чтобы было меньше ошибок.
Другой вариант также не сработал:
Cursor friendCursor = database.query(TABLE_NAME,null,selection,selectionArgs,null,null,null);
Данный запрос работает при прямой работе с БД ч/з BD Browser.
Подскажите, каким образом работать со вложенными запросами?
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Проблема со вложенным запросом
Конечно, совсем забыл.Foenix писал(а):Какая?происходит ошибка.
Изучив мат.часть подробнее, переписал курсор:
String[] vert = new String[] {"word"};
String[] whereArgsVert = new String[] {"123"};
Cursor friendCursor = database.query("TABLE_NAME", vert, "_id IN(SELECT s_id FROM synonyms WHERE w_id=?)", whereArgsVert, null, null, null);
На данный момент ошибка следующая:
android.database.sqlite.SQLiteException: no such table: TABLE_NAME (code 1): ,
while compiling: SELECT word FROM TABLE_NAME WHERE _id IN(SELECT s_id FROM synonyms WHERE w_id=?)
Подозреваю, что не смог найти нужную таблицу...
Re: Проблема со вложенным запросом
w_id='123' числа пишутся без кавычек.[/quote]
Совсем не собираюсь спорить с вами, но разве кавычки могут помешать?
Совсем не собираюсь спорить с вами, но разве кавычки могут помешать?
Re: Проблема со вложенным запросом
Кавычки или нет не важно - утебя их просто нету, ты же используешь параметры (вопросики)
ошибка переводится - нет такой таблицы TABLE_NAME , вместо этого тебе надо писать WORDS. Но опять же - используй по человечески не строковые значения - а константы. Ну это как алфавит, понимаешь?
ошибка переводится - нет такой таблицы TABLE_NAME , вместо этого тебе надо писать WORDS. Но опять же - используй по человечески не строковые значения - а константы. Ну это как алфавит, понимаешь?
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: Проблема со вложенным запросом
Вообще у тебя конечно просто ужасные именования полей в таблица и подозреваю, что сам запрос составлен неверно.
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: Проблема со вложенным запросом
Именования полей - принято. Буду работать над "почерком"Foenix писал(а):Вообще у тебя конечно просто ужасные именования полей в таблица и подозреваю, что сам запрос составлен неверно.
(скажу в оправдание - код взят из разных источников)
Сам запрос проверял на живой БД ч/з BD Browser
Re: Проблема со вложенным запросом
Спасибо, ошибка и правда детская: заковычил переменную.
Из всего могу сделать 1 вывод: реализация вложенных запросов практическим не отличаются от простых
Из всего могу сделать 1 вывод: реализация вложенных запросов практическим не отличаются от простых
Re: Проблема со вложенным запросом
Ну так вложенный запрос состоит из простых.rsdev писал(а):Спасибо, ошибка и правда детская: заковычил переменную.
Из всего могу сделать 1 вывод: реализация вложенных запросов практическим не отличаются от простых
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.
Re: Проблема со вложенным запросом
Отсюда вывод - читать надо ,что в логе пишется.rsdev писал(а):Спасибо, ошибка и правда детская: заковычил переменную.
Из всего могу сделать 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
Re: Проблема со вложенным запросом
Спасибо за совет. Имеете в виду переписать его с помощью JOIN?Foenix писал(а):rsdev писал(а): что же касается этого запроса, то возможно тут был нужен тебе не вложенный, а обычный. С точки зрения эффективности нужно писать те запросы, которые быстрее выполняются.
Как считаете, на каком количестве записей разница будет заметна?
Re: Проблема со вложенным запросом
я говорила "скорее всего", для того, чтоб это знать - нужно знать что за таблицы там, как связаны и так далее. Для средненьких задач хватает обычно join и where.
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