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

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

ADO+ftCursor+Oracle [D7]


alsov ©   (2007-05-04 16:24:00) 

Приветствую, Мастера

Влпрос вот какой. Не получается подружить ADODataset c оут параметром процедуры, который имеет тип ref cursor

Делаю так
1. В базе
create or replace package mickpkg as
type cur is ref cursor;
end;
/

create or replace procedure POpenQry(S in varchar2,cc out mickpkg.cur) as
begin
open cc for S;
end;
/

2. В Delphi через ADODataset

   ds.CommandText := 'Begin ceri.Ceri.POpenQry(:asql, :cur); end;';
   ds.Parameters.Clear;
   ds.Parameters.CreateParameter('asql',ftString,pdInput,100,'select 1 from dual');
   ds.Parameters.CreateParameter('cur',ftCursor,pdOutput,0,NULL);
   ds.Open;

Выдает ошибку о неправильно определенных параметрах.

Подскажите что не так.

P.S. Через dbExpress аналогичный вариант прокатывает на ура :(


alsov   (2007-05-04 18:46:00) [1]

Ура! Победил.

Может кому пригодиться

 cmd := TADOCommand.create(Self);
 ds := TADODataSet.Create(self);
 cmd.Connection := ADOConnection1;
 cmd.CommandType := cmdStoredProc;
 cmd.CommandText := 'POpenQry';
 cmd.Parameters.CreateParameter('asql',ftString,pdInput,100,'select 1 from dual');

 ds.Recordset := cmd.Execute;

а с ds уже делать что надо


Наверх

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