Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
#1

Заполнить дерево запросом SQLite - Android

11.09.2013, 19:29. Просмотров 591. Ответов 6
Метки нет (Все метки)

Гуру помогите!

Есть таблица Код/КодРодителя/имя/уровень
Надо получить осортированую таблицу для вывода в виде древовидного списка:

Васи (1/0/Васи/0)
-Вася1 (456/1
-Вася2
Пети (123/0/Пети/0)
-Петя1 (78/123/Пети/1)
-Петя2
-Петровичи (321/123//1)
--Петрович1 (678/321//2)
--Петрович2
Коли (345/0/Коли/0)

Можно ли подобное сделать одним запросом???
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.09.2013, 19:29     Заполнить дерево запросом SQLite
Посмотрите здесь:

Парсинг контента с AJAX запросом Android
Авторизация GET запросом + IMEI Android
SQLite и libGDX Android
Картинка в SQLite Android
Android Шифрование SQLite
CursorLoader+SQLite Android
Android Глюк SQLite?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
13.09.2013, 12:35     Заполнить дерево запросом SQLite #2
SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
CREATE PROCEDURE getNodeWithChildren(AnID INTEGER, SELF INTEGER)
  RETURNS (ID INTEGER)
AS
BEGIN
  IF (:SELF <> 0) THEN
  BEGIN
    ID = :AnID;
    SUSPEND;
  END
  
  FOR SELECT id FROM test1 
  WHERE parent = :AnID INTO :ID
    DO FOR SELECT id FROM getNodeWithChildren(:ID, 1) INTO :ID
      DO SUSPEND;
END;
Извлечение всех вложенных уровней для узла с идентификатором, заданным параметром Р, независимо от их количества
SQL
1
2
3
SELECT t.*
FROM test1 t
  JOIN getNodeWithChildren(:P, 0) r ON t.id = r.id
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
13.09.2013, 14:15  [ТС]     Заполнить дерево запросом SQLite #3
Спасибо за кусочек теории про которую слышал, но никогда не использовал!
А можно кусочек кода как это можно оформить? Раньше пользовался только этим:

Java
1
2
db.execSQL("INSERT ...");
Cursor cursor = db.rawQuery("SELECT ...",null);
haribo
41 / 41 / 3
Регистрация: 26.05.2013
Сообщений: 160
13.09.2013, 14:21     Заполнить дерево запросом SQLite #4
http://chriswolf.heroku.com/articles...ures-to-sqlite
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
15.09.2013, 21:23  [ТС]     Заполнить дерево запросом SQLite #5
Пробовал... искал! пусто!
На других форумах написано что SQL НЕ поддерживает встроенные процедуры! Но вроде есть чужая "доработка" с поддержкой процедур.
Есть исходники на си, которые можно "встроить" вместе с другими стандартными процедурами...
примеров использования в андроиде НЕ нашел.

Большинство ответов вида: http://stackoverflow.com/questions/1...sqlite-android
kpoxaa
70 / 31 / 1
Регистрация: 03.08.2012
Сообщений: 446
27.09.2013, 20:21     Заполнить дерево запросом SQLite #6
Вот глянь здесь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.09.2013, 19:46     Заполнить дерево запросом SQLite
Еще ссылки по теме:

AsyncTask и SQLite Android
Категории в SQLite Android
SQLite из Service Android
Android SQLite запрос
Android Работа с SQLite

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tester64
395 / 356 / 43
Регистрация: 22.05.2013
Сообщений: 2,518
29.09.2013, 19:46  [ТС]     Заполнить дерево запросом SQLite #7
Цитата Сообщение от kpoxaa Посмотреть сообщение
Вот глянь здесь.
Там СОВСЕМ не то!
Но я уже решил проблему... Без одного SQL запроса. Довольно сложно получилось, но работает...
Yandex
Объявления
29.09.2013, 19:46     Заполнить дерево запросом SQLite
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru