| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > Получить данные в DataSet из пакета REF CURSOR |
| Автор: fanatic 10.6.2008, 15:21 |
| Всем доброго дня Создан пакет в ORACLE в нем имеет место одна процедура с тремя параметрами out, тип возвращаемого значения - REF CURSOR. Вообще - вот сам пакет --CREATE PACKAGE CREATE OR REPLACE PACKAGE ANIMALPETSPETBELONGING AS TYPE RESULTCURR IS REF CURSOR; PROCEDURE GETDATA(ANIMALCUR OUT RESULTCURR, PETCUR OUT RESULTCURR, PETBELONGCUR OUT RESULTCURR); END ANIMALPETSPETBELONGING; CREATE OR REPLACE PACKAGE BODY ANIMALPETSPETBELONGING AS PROCEDURE GETDATA(ANIMALCUR OUT RESULTCURR, PETCUR OUT RESULTCURR, PETBELONGCUR OUT RESULTCURR) IS LOKALANIMALCUR RESULTCURR; LOKALPETCUR RESULTCURR; LOKALPETBELONGCUR RESULTCURR; BEGIN OPEN LOKALANIMALCUR FOR SELECT * FROM ANIMALS; OPEN LOKALPETCUR FOR SELECT * FROM PETS; OPEN LOKALPETBELONGCUR FOR SELECT * FROM PETBELONGING; ANIMALCUR := LOKALANIMALCUR; PETCUR := LOKALPETCUR; PETBELONGCUR := LOKALPETBELONGCUR; END GETDATA; END ANIMALPETSPETBELONGING; / COMMIT / вопрос: Как залить данные,которые возвращает процедура, в DataSet при помощи ADO.NET. private void Form1_Load(object sender, EventArgs e) { OracleConnection connect = new OracleConnection(connectionstring); OracleCommand command = connect.CreateCommand(); command.CommandText = "ANIMALPETSPETBELONGING.getdata('a','b,'c')"; command.CommandType = CommandType.StoredProcedure; OracleDataAdapter dataadapter = new OracleDataAdapter(command); dataadapter.Fill(AnimalsDataset); } если делаю так - компилятор ругается...причем ругается странно...толком непонятно ничего... Если можно подскажите способ попроще выбрать определенные данные из нескольких таблиц БД в DataSet...Буду очень благодарен... Всем спасибо |
| Автор: fanatic 11.6.2008, 08:36 |
| Разобрался!!! Если кому - то интересно,решение находится http://www.gotdotnet.ru/Forums/Data/22574.aspx |