
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
06.09.2005, 16:13:05
|
|||
|---|---|---|---|
|
|||
Date in Oracle vs. Date in VFP |
|||
|
#18+
наступил на грабли... ХП Ораклова CREATE OR REPLACE PROCEDURE FM32YO_is_Persons_IN_PUT (cDepartment IN VARCHAR2, dTIMEOUT IN VARCHAR2, nHowMuch OUT NUMBER ) IS BEGIN SELECT COUNT(*) INTO nHowMuch FROM fin.tfv_pass Putevki, fsf.CL_SANAT Sanatorii WHERE Putevki.dept = cDepartment AND Putevki.Code_San = Sanatorii.code AND Putevki.Timeout >= TO_DATE(dTIMEOUT) ; END ; / ее вызов из ВФП cDepart = '155' cTime = '01/01/2004' nResult = SPACE(10) cSP = "{call fin.FM32YO_is_Persons_IN_PUT(?cDepart, ?cTime, ?@nResult)}" k = SQLExec(gnConnHandle, cSP) = MESSAGEBOX('Результат ' + nResult, 48, 'Сообщение') в результате на условие фильтрации по дате (AND Putevki.Timeout >= TO_DATE(dTIMEOUT)) Фокс не обращает внимания, как с этим бороться? (ораклово поле Timeout - это поле DATE) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.09.2005, 16:31:15
|
|||
|---|---|---|---|
Date in Oracle vs. Date in VFP |
|||
|
#18+
да вроде это оракл не обращает внимания а не вфп (выборка-то на сервере идёт) TO_DATE(dTIMEOUT) видимо возвращает пустую дату в процедуре, чё-нить с конвертацией дат Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.09.2005, 16:35:13
|
|||
|---|---|---|---|
|
|||
Date in Oracle vs. Date in VFP |
|||
|
#18+
1024 да вроде это оракл не обращает внимания а не вфп (выборка-то на сервере идёт) TO_DATE(dTIMEOUT) видимо возвращает пустую дату в процедуре, чё-нить с конвертацией дат Posted via ActualForum NNTP Server 1.3 не уверен ибо та же конструкция и ПЛ-СКЛ возвращает то что надо вот так: declare nHowMuch NUMBER ; begin nHowMuch := 125 ; FM32YO_is_Persons_IN_PUT('21', '01/01/2005', nHowMuch) ; DBMS_OUTPUT.Enable; DBMS_OUTPUT.put_line('Результат: ' || nHowMuch); end ; / получаем результат: 3800 из ПЛ-СКЛ Из фокса получаем 25515 (что есть все записи в таблице) ( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.09.2005, 16:36:33
|
|||
|---|---|---|---|
|
|||
Date in Oracle vs. Date in VFP |
|||
|
#18+
то что в ПЛ-СКЛ я департамент и дату не те поставил - не обращайте внимания.... другой пример просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.09.2005, 16:54:13
|
|||
|---|---|---|---|
Date in Oracle vs. Date in VFP |
|||
|
#18+
так выборка-то в процедуре, из вфп только параметр передаётся. Предлагаю в процедуре написать SELECT TO_DATE(dTIMEOUT) и посмотреть что там Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
06.09.2005, 19:52:17
|
|||
|---|---|---|---|
|
|||
Date in Oracle vs. Date in VFP |
|||
|
#18+
Можен есть резон указывать и второй параматр для функции to_date(ldData,'dd/mm/yyy') поскольку если ваши настройки для даты в системе не совпадают с Oracle есть риск получить ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2005, 09:31:13
|
|||
|---|---|---|---|
|
|||
Date in Oracle vs. Date in VFP |
|||
|
#18+
cbani1Можен есть резон указывать и второй параматр для функции to_date(ldData,'dd/mm/yyy') поскольку если ваши настройки для даты в системе не совпадают с Oracle есть риск получить ошибку спасибо - так пошло, правда если простой запрос только: cDepart = '21' cTime = '01/01/2005' cSP = "SELECT N_PUTEV, TIMEOUT FROM fin.tfv_pass WHERE dept = ?cDepart AND TIMEOUT >= TO_DATE(?cTime,'dd/mm/yyyy')" k = SQLExec(gnConnHandle, cSP) УРА!!! Спасибо! Однако, если в ХП, описанной выше приписываю CREATE OR REPLACE PROCEDURE FM32YO_is_Persons_IN_PUT (cDepartment IN VARCHAR2, dTIMEOUT IN VARCHAR2, nHowMuch OUT NUMBER ) IS BEGIN SELECT COUNT(*) INTO nHowMuch FROM fin.tfv_pass Putevki, fsf.CL_SANAT Sanatorii WHERE Putevki.dept = cDepartment AND Putevki.Code_San = Sanatorii.code AND Putevki.Timeout >= TO_DATE(dTIMEOUT, ''dd/mm/yyy') ; END ; / declare nHowMuch NUMBER ; begin nHowMuch := 125 ; FM32YO_is_Persons_IN_PUT('21', '01/01/2005', nHowMuch) ; DBMS_OUTPUT.Enable; DBMS_OUTPUT.put_line('Результат: ' || nHowMuch); end ; / то все.. уже ХП не работает.. из Оракла не работает.. ORA-01830: date format picture ends before converting entire input string ORA-06512: at "FIN.FM32YO_IS_PERSONS_IN_PUT", line 11 ORA-06512: at line 8 чего я недочитал-то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
07.09.2005, 09:51:21
|
|||
|---|---|---|---|
|
|||
Date in Oracle vs. Date in VFP |
|||
|
#18+
опа--- ступил вопрос снят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=41&tablet=1&tid=1593538]: |
0ms |
get settings: |
6ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
206ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
24ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 451ms |

| 0 / 0 |
