Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Хранимая процеддура [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.
Кстати, компоненты доступа тут играют роль, а они не указаны.


Наверх

Титульная страница Поиск, карта сайта Написать письмо