Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Процедура ORACLE не срабатывает / 3 сообщений из 3, страница 1 из 1
10.12.2009, 00:12
    #36357964
FAM
FAM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Процедура ORACLE не срабатывает
В результате ожидаю получить возвращаемое значение, а получаю .F. и
loAnswer= -1
Что не так? Процедура в оракле отрабатывает нормально.

В фоксе:
LOCAL RNOUT,CodeOut,DateOut,par4
Handle=SQLCONNECT(...)
RNOUT= 100
CodeOut=1
DateOut=DATE()
stroka = [call gen_card('RNOUT','CodeOut','DateOut',?@par4)]
loAnswer=SQLEXEC(Handle,stroka) && Здесь возвращает -1
MESSAGEBOX(par4) && Здесь нет результата
SQLDISCONNECT(Handle)

в оркле:
create or replace procedure gen_card
(
vrn in number,ntype in number,dat in date, serr out varchar2
)
as
begin
insert into a_prikaz(rn) values(gen_id());
commit;
serr:=to_char(vrn) ||' '|| to_char(ntype) || ' Привет!';
end;
...
Рейтинг: 0 / 0
10.12.2009, 07:19
    #36358111
Процедура ORACLE не срабатывает
FAM,
Рассмотри строку:
Код: plaintext
1.
stroka = [call gen_card('RNOUT','CodeOut','DateOut',?@par4)]
Что мы получим в переменной stroka? Я думаю, что следующее:
Код: plaintext
1.
call gen_card('RNOUT','CodeOut','DateOut',?@par4)
а хотели получить (если я правильно понял):
Код: plaintext
1.
call gen_card('100','1','10.12.2009',?@par4)
Ну а что же вы хотите? Пытаетесь в числовую переменную засунуть строку (в число не преобразуемую!!!) и ошибки не ловите (т.е., игнорируете)... Кто же за вас исключения в процедурах Оракла отрабатывать будет?

Если я правильно понял Ваши намерения , то строка должна выглядеть так:
Код: plaintext
1.
stroka = [call gen_card(']+RNOUT+[',']+CodeOut+[',']+DTOC(DateOut)+[',?@par4)]
...
Рейтинг: 0 / 0
10.12.2009, 07:24
    #36358114
Процедура ORACLE не срабатывает
Станислав С...кий,
Ошибочка вышла... :-)
Правильная строка должна выглядеть так:
Код: plaintext
1.
stroka = [call gen_card(']+alltrim(str(RNOUT))+[',']+alltrim(str(CodeOut))+[',']+DTOC(DateOut)+[',?@par4)]
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Процедура ORACLE не срабатывает / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]