Получить результат функции в Oracle

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
_Sergey_
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 26.09.2007 (Ср) 14:46

Получить результат функции в Oracle

Сообщение _Sergey_ » 14.01.2009 (Ср) 18:44

Здравствйте! Нужно получить результат функции в Oracle. Подскажите, пожалуйста, как это сделать Через ADO получается получать только параметры хранимой процедуры.

Текст функции:

function test_fan(p_in_a in varchar2,
p_in_b varchar2:=' ok ',
p_in_c varchar2
)
return varchar2
is
v_temp varchar2(100);

begin
v_temp := p_in_a||p_in_b||p_in_c;
return v_temp;
end;

Вызов функции:

rez:=test_fan(p_in_a => 'a'
,p_in_b => 'b'
,p_in_c => 'c');
(результат abc)

rez:=test_fan(p_in_a => 'z'
,p_in_c => 'x');
(результат a ok c)

Нужно получить rez.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Получить результат функции в Oracle

Сообщение alibek » 15.01.2009 (Чт) 8:55

Результат — это тоже параметр ХП, с типом adParamReturnValue.
Lasciate ogni speranza, voi ch'entrate.

_Sergey_
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 26.09.2007 (Ср) 14:46

Re: Получить результат функции в Oracle

Сообщение _Sergey_ » 15.01.2009 (Чт) 11:23

Спасибо за ответ.
А как в ХП передавать входящие параметры по именам? Вернее смысл в том, что нужно передавать 60 параметров. Из них некоторые просто нужно опускать.

А код такого типа, я так понимаю этого не позволяет, так как нужно соблюдать порядок параметров в функции

cmd.Parameters.Append cmd.CreateParameter(, adBSTR, adParamInput, , "ab1")
cmd.Parameters.Append cmd.CreateParameter(, adBSTR, adParamInput, , "ab2")
...
cmd.Parameters.Append cmd.CreateParameter(, adBSTR, adParamInput, , "ab60")

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Получить результат функции в Oracle

Сообщение alibek » 15.01.2009 (Чт) 12:14

Я бы советовал установить коннект для ADODB.Command (задать ActiveConnection), после чего выполнить cmd.Parameters.Refresh.
Не знаю, поддерживается ли данный функционал в провайдере MSDAORA, для MSSQL-провайдера это работает.
Lasciate ogni speranza, voi ch'entrate.

_Sergey_
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 26.09.2007 (Ср) 14:46

Re: Получить результат функции в Oracle

Сообщение _Sergey_ » 15.01.2009 (Чт) 12:19

Я так и делаю. Добавил Refresh. Толку нет. Спасибо за ответ. Буду искать дальше.


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList