DTOC — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м |
Hisava (обсуждение | вклад) м (→AdsSetEpoch) |
||
Строка 5: | Строка 5: | ||
[[Файл:22-08-2016 13-32-48.png]] | [[Файл:22-08-2016 13-32-48.png]] | ||
= AdsSetEpoch = | = AdsSetEpoch = | ||
− | В случае использования функции DTOC в SQL запросах могут быть проблемы | + | В случае использования функции [[DTOC]] в SQL запросах могут быть проблемы |
Например, запрос | Например, запрос | ||
Строка 20: | Строка 20: | ||
Ace.AdsSetEpoch( D_EPOCH ); | Ace.AdsSetEpoch( D_EPOCH ); | ||
'''ACE''' в свою очередь это Advantage Client Engine ( ace.pas ) | '''ACE''' в свою очередь это Advantage Client Engine ( ace.pas ) | ||
+ | |||
= Смотрите также = | = Смотрите также = | ||
[[Полезные функции]] | [[Полезные функции]] | ||
[[Функции Delphi]] | [[Функции Delphi]] |
Версия 10:00, 21 июля 2017
DTOC - это функция
Преобразование даты в строку символов в формате дд/мм/гггг
Пример
DTOC( Date() )
AdsSetEpoch
В случае использования функции DTOC в SQL запросах могут быть проблемы
Например, запрос
SELECT * FROM DOCZ0117 WHERE DATDOC = '01.01.17'
воспринимается ADS-сом как
SELECT * FROM DOCZ0117 WHERE DATDOC = '01.01.1917'
что не может не радовать
Для изменения эпохи надо в файле UserType.pas установить переменную D_EPOCH
В приведенном примере переменная была равна 1917, в настоящее время она равна 1930
Далее в OpenData.pas написано
Ace.AdsSetEpoch( D_EPOCH );
ACE в свою очередь это Advantage Client Engine ( ace.pas )