|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
31.07.2010, 12:15 | #1 | ||
Заблокирован
Форумчанин
Регистрация: 30.12.2009
Сообщений: 544
|
Delphi. TreeView. Firebird: Вложенный SQL-запрос.
Приветствую всех.
В запросе Цитата:
UUID - varchar(22). Параметр Name берётся из TreeView.Selected.Text. Запрос используется для определения подгрупп в таблице (представление данных 1 таблицы в виде дерева). происходит ошибка "Multiple rows in singleton select". Ошибка связана со вторым SELECT,когда в TreeView на событие OnExpanding (при раскрытии) TreeView.Selected.Text по-видимому поступает одновременно несколько параметров Name. Почему? Я-то выделяю/раскрываю 1 узел. Вот код: Цитата:
1) Формирую только корневые узлы с ложным потомком (чтоб раскрывалось) 2) При раскрытии пользователем узла формируются потомки этого узла. Перед этим ложный потомок и все остальные потомки удаляются. ... или где можно скачать небольшой Freeware-компонент с исходниками для отображения таблицы БД в виде дерева, если ID и PARENT_ID - строки, а не числа?
Темы для WordPress. Русские WordPress шаблоны
|
||
31.07.2010, 13:43 | #2 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
вы нам для начала поведайте каким образом работает такой запрос
Цитата:
|
|
31.07.2010, 14:38 | #3 | ||
Заблокирован
Форумчанин
Регистрация: 30.12.2009
Сообщений: 544
|
Цитата:
который затем передаётся в SELECT * FROM S_NOMENCLATURE WHERE (GRP=1)AND(<отсюда получаю UUID>). Самое интересное, что этот запрос работает. А вот передаётся значение для Name: qTree.ParamByName('name').AsString := MyTree.Selected.Text; Здесь qTree - TIBQuery, MyTree - TTreeView. Смотрите делфийский код. Так вот получается, что в какой-то момент в строчке qTree.ParamByName('name').AsString := MyTree.Selected.Text видимо образуется эта ошибка (причём не всегда). Вся загвоздка в MyTree.Selected.Text - имя узла TreeView, получаемое при развертывании. Цитата:
select * from customer where (cust_no=(select cust_no from customer where cust_no=1004)) - будет работать.
Темы для WordPress. Русские WordPress шаблоны
|
||
01.08.2010, 00:00 | #4 | |
SQL-коддинг
Участник клуба
Регистрация: 16.01.2009
Сообщений: 1,192
|
давайте по порядку
ваш запрос Код:
Код:
2) первая часть обрамляющего запроса тоже чота там сделает Код:
т.е. вернуть все записи, удовлетворяющие условию группа = 1 и УУИД/УУИДЫ а что делают эти ууиды - равны, не равны, существуют в этом наборе данных??? имхо такой запрос должен озадачить любую субд Цитата:
работать будет, но смысла в нем никакого проще уж сделать просто запрос Код:
|
|
01.08.2010, 07:04 | #5 | |
Заблокирован
Форумчанин
Регистрация: 30.12.2009
Сообщений: 544
|
Цитата:
Parent_UUID - UUID предка. Например, UUID записи равен какому-нибудь 'dahSDsaD1Aad1jh!1s12da'. Parent_uuid='000000000000000000000' - нет предка,это корневой узел. В общем Parent_UUID хранит UUID предка, а GRP - признак того,что запись - группа. Т.к. Name уникален из Код:
Думаю у меня ошибка в делфийском коде => ошибка с запросом. Посмотрите DELPHI-код: Код:
Темы для WordPress. Русские WordPress шаблоны
|
|
01.08.2010, 08:04 | #6 |
Заблокирован
Форумчанин
Регистрация: 30.12.2009
Сообщений: 544
|
Всё заработало!
Я просто во время отладки навводил несколько записей с одинаковыми Name отсюда и ошибка Multiple rows in singleton select во время раскрытия некоторых узлов дерева. Код:
Большое спасибо за советы.
Темы для WordPress. Русские WordPress шаблоны
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Firebird 2.5. Группировка и вложенный запрос. | Антон Ю.Б. | SQL, базы данных | 8 | 02.07.2010 17:22 |
вложенный запрос выборка по многим критериям | Droid | БД в Delphi | 2 | 23.05.2010 19:31 |
Создание новых таблиц в MS SQL SERVERE через SQL запрос в Delphi | S_Yevgeniy | Помощь студентам | 1 | 27.10.2009 06:26 |
Запрос SQL из Access в Delphi | Talemir | БД в Delphi | 5 | 26.08.2009 20:46 |
sql запрос delphi | viperrr | Помощь студентам | 13 | 03.07.2009 03:08 |