![]() |
Нужна идея - SQL Browser
начится так. Вот минипрограмка, которая отображает запросы SQL в виде дерева. Для запуска:
1. Соберите (Borland C++ Builder 6.0) 2. Тыкните на tree_table.udl и введите настройки соединения 3. Отредактируйте файлик tree_table.sql с запросами. Файл состоит из 2-х списков, ограниченных тэгами <root>..</root>. Внутри тэг <key>..</key> задаёт название, <sql>..</sql> запрос. Текст мезду тегами воспринимается "буквально", т.е. без пропуска пробелов и переводов строк. Первый список задаёт корни дерева, второй - все остальные ветки. Запрос должен возвращать поля: 1. Ключ следующей записи <key> во втором списке <root>, либо пустая строчка, если не раскрывать 2. ИД записи (используется declare @parent_id integer; set @parent_id=ИД; перед запросом, взятым по ключу <key>) 3. Картинка, соотвествующая ветке (игнорируется) 4. Текст, соответсвующий ветке В тексте запроса во втором списке <root> можно применять переменную @parent_id. Перед <key> и <sql> можно оставлять комментарий Код:
<root> 1. выбрать "должность", "группа" или "рабочие места" (как в верхнем выпадающем списке в программе выше) 2. допустим выбрали должность. И выбрали из списка какую 3. выбрать "группа" или "рабочие места" 4. допустим выбрали "группа" и из списка групп с такой должностью выбрали одну группу. 5. осталось "рабочие места" - выбрали рабочее место 6. получили список пользователей Как соединять запросы SQL? Нужна идея, желательно хитрая |
пока остановился на условной трансляции SQL с тасканием за собой параметров трансляции. Типа того:
Код:
select <top>top <top_value></top> |
остановил выбор всё же на тэгах типа html,xml. Причёсываю "язык". Возник такой вопрос: сколько раз sql-сервер сделает проверку @parentId is null и @like is null в следующием коде, который вываливает табличку из 1000 строчек:
Код:
declare @parentId integer; --set @parentId=397; |
Время: 14:50. |
Время: 14:50.
© OSzone.net 2001-