|
|
|
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:13:05 |
|
||
|
Date in Oracle vs. Date in VFP
|
|||
|---|---|---|---|
|
#18+
да вроде это оракл не обращает внимания а не вфп (выборка-то на сервере идёт) TO_DATE(dTIMEOUT) видимо возвращает пустую дату в процедуре, чё-нить с конвертацией дат Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 16:31:15 |
|
||
|
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:35:13 |
|
||
|
Date in Oracle vs. Date in VFP
|
|||
|---|---|---|---|
|
#18+
то что в ПЛ-СКЛ я департамент и дату не те поставил - не обращайте внимания.... другой пример просто ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 16:36:33 |
|
||
|
Date in Oracle vs. Date in VFP
|
|||
|---|---|---|---|
|
#18+
так выборка-то в процедуре, из вфп только параметр передаётся. Предлагаю в процедуре написать SELECT TO_DATE(dTIMEOUT) и посмотреть что там Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 16:54:13 |
|
||
|
Date in Oracle vs. Date in VFP
|
|||
|---|---|---|---|
|
#18+
Можен есть резон указывать и второй параматр для функции to_date(ldData,'dd/mm/yyy') поскольку если ваши настройки для даты в системе не совпадают с Oracle есть риск получить ошибку ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 19:52:17 |
|
||
|
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:31:13 |
|
||
|
Date in Oracle vs. Date in VFP
|
|||
|---|---|---|---|
|
#18+
опа--- ступил вопрос снят ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2005, 09:51:21 |
|
||
|
|

start [/forum/topic.php?fid=41&msg=33254943&tid=1593538]: |
0ms |
get settings: |
8ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
217ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 525ms |

| 0 / 0 |
