![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Хранимая процеддура [D7]
rar © (2006-06-19 19:38:00)Есть хранимая процедур
create or replace procedure SetUserName(pUserName out varchar2) is
begin
pUserName:=User;
end SetUserName;
Хочу получить из нее данныы
function SetUserName():string ;
begin
with DataModuleMain.CDS_SetUserName do
begin
//Params.ParamValues['pUserName']:=' ';
Execute;
FetchParams;
Result:=Params.ParamValues['pUserName'];
end;
end;
Выдает ошибку
"Parameter object is improperly defined. Inconsistent or incomplete information was prowider"
Если в функции вклучаю заремленную строку, то все ОК.
В чем дело, когда данные в процедуре (имеется в виду другая процедура), типа Integer, то все работает без добавочной строки, а при Strring надо обязательно послать пробел на сервак. У меня трехзвенка.
Просветите в чем тут дело. Ошибку похоже выдает Делфа до Оракла дело не доходит
Дырчик (2006-06-22 13:15:00) [1]TADOStoredProc.Parameters[...].DataType := ftString - должно помочь.
rar (2006-06-21 19:59:00) [2]
> А что за сервер? Оракл? Если да, то зачем вообще процедура?
>
> select user from dual
Это-то понятно, вопрос то про другое про параметр out типа varchar2
почему ругается
> "Parameter object is improperly defined. Inconsistent or
> incomplete information was prowider"
Val (2006-06-21 11:23:00) [3]>Sergey13 © (21.06.06 09:15)
а где ж еще есть тип данных с таким модным названием? ;)
подозреваю, что это просто не совсем удачный пример для вопроса.
Sergey13 (2006-06-21 09:15:00) [4]А что за сервер? Оракл? Если да, то зачем вообще процедура?
select user from dual
rar (2006-06-20 18:38:00) [5]компоненты ADO-шные
на серваке ADOStoredProc и ClientDataSet
на клиенте ClientDataSet
Параметры прописаны как OUT, я это проверил.
Просто в других процедурах если параметр OUT типа INTEGER, то все работает хорошо.
Что за глюки, может мастера подскажут
Desdechado (2006-06-19 20:00:00) [6]Параметр по умолчанию объявляется как inout, поэтому дельфи ждет инициализации параметра. Если объявишь его как OUT, то должно быть ok.
Кстати, компоненты доступа тут играют роль, а они не указаны.