output параметры

.DLL
Дата: 03.02.2005 14:47:04
Всем привет!
Что-то совсем запутался.
Как из хранимой процедуры получить выходные пераметры и набор select, если select не возвращает строк? Наверно каряво говорю. Попробую привести код.

oCommand3.CommandText = "Search_Price_on_Kategory_for_Confirm"
                    oCommand3.CommandType = CommandType.StoredProcedure
                    oCommand3.Connection = oConnection3
                    oCommand3.Parameters.Add("@Kod_of_declare", SqlDbType.Int).Value = MyClass.Kod
                    oCommand3.Parameters.Add("@Data_zaezd", SqlDbType.DateTime).Value = MyClass.ДатаЗаезда1
                    oCommand3.Parameters.Add("@Data_viezd", SqlDbType.DateTime).Value = MyClass.ДатаВыезда1
                    oCommand3.Parameters.Add("@Name_of_category", SqlDbType.VarChar).Value = oDatareader.GetValue(1).ToString
                    Debug.WriteLine(oDatareader.GetValue(1).ToString)
                    oCommand3.Parameters.Add("@Error_output", SqlDbType.Int).Value = -1
                    oCommand3.Parameters.Item(4).Direction = ParameterDirection.Output
                    oCommand3.Parameters.Add("@NDS", SqlDbType.Int).Value = -1
                    oCommand3.Parameters.Item(5).Direction = ParameterDirection.Output
                    oCommand3.Parameters.Add("@Valuta", SqlDbType.Int).Value = -1
                    oCommand3.Parameters.Item(6).Direction = ParameterDirection.Output


                    Dim oDatareader3 As SqlClient.SqlDataReader = oCommand3.ExecuteReader(CommandBehavior.CloseConnection)

                    While oDatareader3.Read
' Тут получаю значение соответствующих полей
                        Dim a2 As String = oDatareader3.GetValue(2).ToString ' Цена номера
                        Dim a4 As String = oDatareader3.GetValue(3).ToString ' Цена за завтрак
                        Dim a3 As String = oDatareader3.GetValue(4).ToString

                        oDatareader3.NextResult()

'  тут я вроде как получаю значение выходных параметров, но если oDatareader3.Read не вошел в цикл, то не получаю а надо бы
If oCommand3.Parameters.Item(4).Value = 1 Then
                            docWord.Tables.Item(4).Rows.Item(i).Cells.Item(6).Range.Text = "Нет договора нал. по тому же периоду"
                        ElseIf oCommand3.Parameters.Item(4).Value = 2 Then
                            docWord.Tables.Item(4).Rows.Item(i).Cells.Item(6).Range.Text = "Нет такой категории номера по договору нал."
                        end if
                    end while

В цикле
hDrummer
Дата: 03.02.2005 16:47:10
Чуть глаза от вашей красноты не лопнули, не делайте так больше please.
hDrummer
Дата: 03.02.2005 16:49:45
Рекомендую пользоваться тегом src vb в квадратных скобках и закрывающим /src, а не color.
.DLL
Дата: 03.02.2005 17:08:17
Ладно, я просто не знал )
А по вопросу что?
Va1entin
Дата: 03.02.2005 17:17:46
Сначала читайте параметры,
а потом уже закрывайте connection.
hDrummer
Дата: 03.02.2005 17:24:26
попробуйте получать так после выполнения Reader'a
int Valuta= (int) com.Parameters["@Valuta"].Value;

и т.д.
hDrummer
Дата: 03.02.2005 17:25:01
и это уберите CommandBehavior.CloseConnection