Re: Ora/C# NoRows
От: Sinclair Россия https://github.com/evilguest/
Дата: 05.09.22 03:57
Оценка: 4 (1)
Здравствуйте, Funny Rabbit, Вы писали:

FR>Добрый вечер. Почему может не возвращаться результат?


Первый вопрос — пробовали ли исполнять запрос в каком-нибудь клиенте, типа SQL-Plus?
Надо убедиться, что процедура вообще что-то возвращает.
Второй вопрос — а каких строк вы ожидали?
Вы же передаёте результат через параметр, а не через датасет.
Судя по stackoverflow, вам надо
using (OracleConnection oca = new OracleConnection("..."))
            {
                oca.Open();
                using (OracleCommand ocmd = new OracleCommand())
                {
                    ocmd.Connection = oca;
                    ocmd.CommandType = System.Data.CommandType.StoredProcedure;
                    ocmd.CommandText = "phone_links";
                    ocmd.InitialLOBFetchSize = 8192;

                    OracleParameter op = new OracleParameter();
                    op.ParameterName = "res";
                    op.Direction = ParameterDirection.Output;
                    op.OracleDbType = OracleDbType.Clob;

                    ocmd.Parameters.Add(op);


                    ocmd.ExecuteNonQuery();
                    

                    if (!DBNull.Value.Equals(ocmd.Parameters["res"].Value))
                        rtbLinks.Text = (string)ocmd.Parameters["res"].Value;
                    else
                        rtbLinks.Text = "No rows. ";
                }
            }
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.