![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
SQL parser
zunder © (2005-01-18 11:16:00)подскажите плз - где найти прасер для разбора SQL запросов
msguns (2005-01-18 18:43:00) [1]>Vit@ly © (18.01.05 18:24) [31]
Есть один метод. Не очень красивый (для юзера в первую очередь), зато универсльный. Кидаешь полученный "сварганеным" запросом датасет в ексель и пусть узер рисует шапки, красит строчки, лепит трэйдмарки и т.д.
Vit@ly (2005-01-18 18:24:00) [2]ИМХО проблема здесь может возникнуть не с запросами, а скорее всего с отчетами:)
Выложи на модальную форму контролы, (эдиты, комбобоксы, чекбоксы и т.д), по их состоянию, которое создал пользователь, формируй (правильный) запрос.
А вот с отчетом я себе не очень представляю.
msguns (2005-01-18 18:11:00) [3]>zunder © (18.01.05 17:17) [26]
>это уже все есть и FastReport используется только не все юзеры умеют им пользоваться, поэтому решили что нужно создать модальную форму в которой м.б. из открытого запроса сгенерить отчет "любой сложности" в рамках разумного
маразм
Соловьев (2005-01-18 17:28:00) [4]>имеется ввиду представленный в открытом гриде запрос
Т.е. данные запроса? И как должен генерится отчет? По комбинациям полей что-ли? Что это за задача? ИМХО, что бы ср.ть не хотелось
zunder (2005-01-18 17:26:00) [5]они не того(FastReport) не другого(SQL) не догоняют, имеется ввиду представленный в открытом гриде запрос
Соловьев (2005-01-18 17:21:00) [6]>из открытого запроса сгенерить отчет "любой сложности" в рамках
>разумного
Т.е. юзеры SQL выучили, а с FastReport недогнали? неверю...
zunder (2005-01-18 17:17:00) [7]это уже все есть и FastReport используется только не все юзеры умеют им пользоваться, поэтому решили что нужно создать модальную форму в которой м.б. из открытого запроса сгенерить отчет "любой сложности" в рамках разумного
Соловьев (2005-01-18 17:01:00) [8]ну храни запросы в базе и отчеты. Встрой дизайнер отчетов и настраивай и добавляй запросы сколько душе угодно.
zunder (2005-01-18 16:56:00) [9]>Неужели нельзя просто собрать свой запрос без разбора извращенного?
т.е. если у меня допустим 100 запросов написать вместо них свои 100 для отчетов
а потом вдруг у меня появляется еще 10 и опять писать свои 10
или я что-то не так понял.
не нравиться мне переделывать проги каждый раз как моча в голову ударит кому-то ;-)
zunder (2005-01-18 15:14:00) [10]>Для того чтобы небыло кривых запросов может стоит подумать в сторону конструктора
конструктором долго
Stanislav (2005-01-18 15:07:00) [11]Для того чтобы небыло кривых запросов может стоит подумать в сторону конструктора
msguns (2005-01-18 15:06:00) [12]Кстати, трабла не такая уж и надуманная. Например, если писать компоненту или просто класс для сервисного обслуживания отображаемых гридов с фичами типа сортировки по любому к-ву полей, фильтрации (т.е. добавления доп.условий выборки), поиска с выборкой в список записей, удовлетворяющих заданным условиям.
Тут надо изгаляться достаточно круто и хороший парсер с модификатором запроса совсем не помешает.
Danilka (2005-01-18 14:52:00) [13][19] Sergey13 © (18.01.05 14:42)
На счет ИИ, это да, но, хоть я и не телепат, все-таки думаю, что с кривыми запросами автор погорячился, наверняка есть основной запрос, есть какие-то параметры отчета, на основании которых надо что-то менять. Слишком много менять - это уже новый отчет получится, наверняка меняются условие выборки и сортировка, а это все делается без всяких парсеров. :))
А на счет [14].. бывает, в отчетах такие запросища висят, по нескольку килобайт.. Тут, однако, тоже ИИ не помешал-бы. :))
Sergey13 (2005-01-18 14:42:00) [14]2[18] Danilka © (18.01.05 14:32)
А чего оборачивать то? Автор хочет кривые запросы сделать прямыми. Тут мало отпарсить кривой, надо еще, ИМХО, такой ИИ написать, что бы он на основании этого прямой забацать мог.
ЗЫ: кстати интересно бы еще на [14] Соловьев © (18.01.05 13:56) ответ автора почитать.
Danilka (2005-01-18 14:32:00) [15][17] Sergey13 © (18.01.05 14:26)
Хм, а чего-там интересного обернуть запрос в свой, если СУБД поддерживающие запросы из запросов? По-моему как-раз самое простое. :)
Впрочем, может просто это я такой неприхоливый? :)
Sergey13 (2005-01-18 14:26:00) [16]2[16] Danilka © (18.01.05 14:20)
>Обычно, для всяких генераторов отчетов достаточно
А мой опыт говорит об обратном. В отчетах самые хитрые вопросы и идут.
> крячить последние секции: WHERE и ORDER BY, а на это особого умения и суперхитрых компонент не надо. :)
А по моему там самое интересное и начинается. 8-)
Особенно если
>СУБД поддерживающие запросы из запросов
Danilka (2005-01-18 14:20:00) [17]Обычно, для всяких генераторов отчетов достаточно крячить последние секции: WHERE и ORDER BY, а на это особого умения и суперхитрых компонент не надо. :)
А для СУБД поддерживающие запросы из запросов и того проще - оборачиваешь начальный запрос в свой и все.
pasha_golub (2005-01-18 14:19:00) [18]Ребята, чего вы накинулись? Бывают случаи когда парсер нужен, например если наследника Датасета пишешь.
Посмотри вот этот: http://www.wangz.net/gsqlparser/
Из всего что есть самый в порядке, правда хелп у него деревянный, но думаю это можно победить. Зеос можешь не пробовать, потому как он не вылавливает ошибки в синтаксисе, замучаешься потом.
Соловьев (2005-01-18 13:56:00) [19]>его нужно разложить по косточкам и собрать новый
>с учетом извращенного ума юзера
>для генератора отчета. делов то ;-)
а смысл? Неужели нельзя просто собрать свой запрос без разбора извращенного?
Sergey13 (2005-01-18 13:56:00) [20]2[12] zunder © (18.01.05 13:53)
>с учетом извращенного ума юзера
А извратность ума входным параметром будет? 8-)
>библиотеку качаю, скоро испытывать буду
Испытаешь - напиши - интересно.
Можно тут даже извратных запросов для теста поспрошать. 8-)