![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Провайдер для ms access с поддержкой коментариев в тексет SQL [D7, XP]
Акула Додсон © (2008-12-25 16:20:00)Скажите, что можно использовать для работы с аксессом через адо, чтобы допускались коментарии в тексте запроса?
Jet или не позволяет вообще, или там какой-то свой синтаксис.
Johnmen (2008-12-25 20:13:00) [1]А грид тут с какого бока?
Акула Додсон (2008-12-25 19:44:00) [2]мда. пациент безнадежен....
Сергей М. (2008-12-25 19:22:00) [3]
> Сотый раз повторяю, что коменты в тексте SQL используются
> ГРИДОМ как маркеры
А при чем здесь провайдер (и Jet в т.ч. и в частности) ?
Вкусывай/выкусывай себе на здоровье в своих гридах и иже с ними все что вздумается)
Вот ведь придурок-то, а ?)
Блажь его, видите ли. посетила - и все вокруг стали "тормозами")
Акула Додсон (2008-12-25 18:02:00) [4]Удалено модератором
Примечание: Удалено, случайно
Anatoly Podgoretsky (2008-12-25 17:56:00) [5]Удалено модератором
Anatoly Podgoretsky (2008-12-25 17:51:00) [6]Удалено модератором
Акула Додсон (2008-12-25 17:45:00) [7]Ничто, кстати, не мешает непосредственно перед передачей "грязного" запроса провайдеру (или прямиком серверу) выкусить из него комментарии прямо на стороне клиента,
Ага щас.
Штатный запрос в дизайнере:
select * from справочник where department = 1;
После ввода пользовательского условия:
select * from справочник where department = 1 /*...*/ and sex = 'm' /*...*/;
Выкусываем коментарии, отправляем запрос, смотрим, радуемся.
Решаем убрать пользовательский фильтр, а у нас там :
select * from справочник where department = 1 and sex = 'm'
какое именно из двух условий будем резать? или все?
Акула Додсон (2008-12-25 17:40:00) [8]Да какому серверу понравится такой синтаксис.
mssql и оракл едят нормально. для FB используется fib, там все решается без комментариев встроенными средствами.
А для акцесс+джет+адо нужны коменты чтобы грид не заблудился модифицируя текст запроса.
Акула Додсон (2008-12-25 17:36:00) [9]Если серверу они не нужны, то и провайдеру, являющемуся специализированным "посредником" между серверной и клиентской сторонами, они тоже нужны ка собаке пятая нога.
Ты или тормоз, или просто чувствуешь неловкость, что сразу в тему не въехал и хочешь замять разговор.
Сотый раз повторяю, что коменты в тексте SQL используются ГРИДОМкак маркеры. Что бы знать куда добавлять пользовательские условия и откуда их убирать если юзер их хочет убрать.
PS Пока объяснял что же мне надо, уже написал наследника TADODataSet.
Anatoly Podgoretsky (2008-12-25 17:34:00) [10]> Акула Додсон (25.12.2008 17:14:09) [9]
Да какому серверу понравится такой синтаксис.
Сергей М. (2008-12-25 17:29:00) [11]
> серверу он нафик не нужны
Ну вот и ответ на вопрос)
Если серверу они не нужны, то и провайдеру, являющемуся специализированным "посредником" между серверной и клиентской сторонами, они тоже нужны ка собаке пятая нога.
Т.е. на кл.стороне ты можешь творить с текстом запроса все что тебе вздумается, но на исполнение серверу (через провайдера или напрямую) будь любезен представить запрос в "чистом виде".
Ничто, кстати, не мешает непосредственно передпередачей "грязного" запроса провайдеру (или прямиком серверу) выкусить из него комментарии прямо на стороне клиента, если уж они так были нужны для внутренних его нужд. Врем.затраты при этом в большинстве случаев будут не больше, чем если бы то же самое выполнялось на стороне провайдера или сервера.
sniknik (2008-12-25 17:28:00) [12]> или там какой-то свой синтаксис.
единственный комментарий позволяется после запроса, ставишь двойную кавычку и пишешь после неё, это при выполнении отбросится.
-> select * from customer " это комментарий
Акула Додсон (2008-12-25 17:14:00) [13]серверу он нафик не нужны.
Они нуждны гриду ехлиба что бы знать куда вставлять пользовательский where и знать куда он вставил его предыдущий раз если вдруг юзер меняет условие или хочет его убрать.
запрос в дизайн-тайме: select * from customer
юзер открыл форму, вводит в заголовке колонки фильтрующие уловие: "акула"
грид берет оригинальный sql и меняет на :
select * from customer /*custom_filter_b*/ where custname like '%акула%' /*custom_filter_b*/
Сергей М. (2008-12-25 17:07:00) [14]Вот ты вдумайся - нафига серверу нужны комментарии в тексте запроса, переданного ему на исполнение ?
Акула Додсон (2008-12-25 16:51:00) [15]ага. а курица - не птица.
Грид ехлиба использует коментарии для серверной фильтрации.
А джет их не понимает, ругается на синтаксис.
Сергей М. (2008-12-25 16:48:00) [16]
> вижу выход в написании наследника адодатасета
Это тоже не провайдер.
Сергей М. (2008-12-25 16:46:00) [17]
> EhLib
EhLib - это не провайдер.
Акула Додсон (2008-12-25 16:45:00) [18]Пока вижу выход в написании наследника адодатасета со своим паблишед свойством mycommandtext. Грид будет модифицировать его, а в методе по записи текст будет переписываться в унаследованный коммандтекст без коментариев.
Акула Додсон (2008-12-25 16:43:00) [19]Пример:
EhLib для серверной фильтрации истользует маркеры - коментарии в тексте запроса.
Сергей М. (2008-12-25 16:34:00) [20]
> чтобы допускались коментарии в тексте запроса
imho блажь