![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дата в запросах для Paradoxa [D5, Paradox]
Черный анархист © (2004-06-28 14:18:00)Буду благодарен за помощь в таком вопросе:
Мне нужно динамически сформировать запрос (SQL) для выборки по нескольким полям. Одно из полей имеет тип Date. Раньше я работал с Ораклом и потому сначала попробовал использовать
<имя поля> = TO_DATE ('<строковая переменная>','DD.MM.YYYY');
но в ответ услышал Capability not supported.
Использовать Params я не могу - запрос может быть любым от SELECT FROM до INSERT INTO (это определяеться програмой в рантайме и запрос переписывается полностью). Как мне решить данную задачку?
Черный анархист (2004-06-28 15:07:00) [1]УРААААААААААААА!!!!!!!!!!
Заработало. Всем большое спасибо. В особенности Sandman25.
Черный анархист (2004-06-28 14:53:00) [2]to Sandman25
Ладно, спасибо. Не буду лениться. Буду читать хелп
Sandman25 (2004-06-28 14:52:00) [3]>Если Вам не тяжело, расскажите про cast
LocalSql.hlp :)
Черный анархист (2004-06-28 14:51:00) [4]
> select * from mytable where mydate=cast('28.06.2004' as
> date)
> пробовали?
нет, щас попробую. Если Вам не тяжело, расскажите про cast, а то мне его не доводилось ни разу использовать. Самое главное для каких типов данных он работает и кушает ли другие операции сравнения (!=, <, >).
Sandman25 (2004-06-28 14:48:00) [5]точнее 28/06/2004
Sandman25 (2004-06-28 14:47:00) [6]select * from mytable where mydate=cast('28.06.2004' as date)
пробовали?
Черный анархист (2004-06-28 14:45:00) [7]
> Есть один корявый способ без Params, правда.
> Session.GetConfigParams и потом передавать строку в полученном
> формате. В BDE описывается занчения всех переменных
Кстати, звучит не так уже и коряво. Ща попробую, но я пытался передавать установленый у меня формат #dd/mm/yyyy# напрямую и... бесполезно. (Invalid token)
Черный анархист (2004-06-28 14:45:00) [8]
> Кстати, а как Вы боретесь с возможным присутствием кавычек
> в строковых данных?
С кавычками борюсь - #39
Sandman25 (2004-06-28 14:44:00) [9][6] Черный анархист © (28.06.04 14:42)
Кстати, а как Вы боретесь с возможным присутствием кавычек в строковых данных? ИМХО, лучше все же перейти на использование параметров. Наличие Format только поможет - заменяете своей функцией и заполняете Params содержимым второго параметра. По Variant можно легко определить требуемый TParam.DataType
Черный анархист (2004-06-28 14:42:00) [10]to Sandman25
Конечно в принципе можно сделать так, что бы менять Params перед каждым изменением запроса, но очень часто в качестве параметра могут оказываться конструкции Format, конкатированные строки и прочая гадость. Вообщем, если над этим делом посидеть, то можно менять парамзы, но пропадает рациональность решения задачи. Моя интуиция подсказывает наличие более простого выхода.
Sandman25 (2004-06-28 14:39:00) [11]Есть один корявый способ без Params, правда.
Session.GetConfigParams и потом передавать строку в полученном формате. В BDE описывается занчения всех переменных
Johnmen (2004-06-28 14:37:00) [12]А дело в формате представления даты. Ты знаешь, какой он ? И я тоже. Поэтому см. Sandman25 © (28.06.04 14:27) [1]
Черный анархист (2004-06-28 14:35:00) [13]to Курдль
Ну этобыло бы совсем просто - не работает
Sandman25 (2004-06-28 14:27:00) [14]Params можно заполнять/использовать и в run-time. Попобробнее о задаче можно?
Курдль (2004-06-28 14:27:00) [15]
<имя поля> = 'DD.MM.YYYY'