Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Получение и обработка курсора в ORACLE


Автор: AlexLogos 27.11.2011, 02:14
Здравствуйте, товарисчи! У меня небольшая проблема с ORACLE. Есть хранимая процедура 
Код

CREATE OR REPLACE PROCEDURE SPHERADMIN.GetData
(AllData out sys_refcursor) IS
BEGIN
  open AllData for
  select * from t_url;
END GetData;

пробую получить даные из табицы в DataGridView и пишу код
Код

command.Connection = connection;
                        command.CommandType = System.Data.CommandType.StoredProcedure;
                        command.CommandText = "GetData";
                        OracleParameter AllData = new OracleParameter();
                        AllData.ParameterName = "AllData";
                        AllData.Direction = System.Data.ParameterDirection.Output;
                        AllData.OracleDbType = OracleDbType.RefCursor;
                        command.Parameters.Add(AllData);
                        command.ExecuteNonQuery();
                        DataTable table = new DataTable();
                        try
                        {
                            if (command.Parameters["AllData"].Value != null)
                            {
                                table.Load(command.Parameters["AllData"].Value as OracleDataReader);
                                dGVUrl.DataSource = table;
                            }
                            else
                            {
                                MessageBox.Show("AllData Return nothing");
                            }
                        }
                        catch (Exception ex)
                        {
                            rTBResult.Text=ex.Message;
                        }

но получаю ошибку:
Значение не может быть неопределенным.
Имя параметра: dataReader
пробовал использовать этот кож для выполнения другой хранимой процедуры - получения количества записей - код рабочий. Наверное вопрос в том как верно обработать ссылку на курсор. Как решить?

Автор: AlexLogos 8.12.2011, 15:35
Неужто с курсорами так тяжело...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)