2
Привет!Я пытаюсь создать хранимую процедуру, которая возвращает возвращаемое значение varchar, и это значение мне нужно отобразить в текстовом поле.
Это код для хранимой процедуры:
Create PROCEDURE Status @id_doc int, @Name varchar(50) OUTPUT
AS
select @Name =items.name
from Doc,Items where @id_doc=IDN and doc.IDN=Items.ID
return @Name
Это кодв vb.net, где мне нужно отобразить возвращаемое значение из процедуры в текстовом поле:
Public Sub Current()
Dim dtc As New Data.DataTable
Dim dr As SqlClient.SqlDataReader
Dim da As New SqlClient.SqlDataAdapter
Dim cmd As New SqlClient.SqlCommand
Dim id_doc As Integer
Dim dset As New DataSet
Dim recordset As DataRow
Dim Name As String
Try
id_doc = idDocExplorer
cmd.Connection = pubCon
cmd.CommandType = CommandType.StoredProcedure
cmd.CommandText = "Status"
cmd.Parameters.Add("@id_doc", id_doc)
cmd.Parameters.Add("@Name", SqlDbType.VarChar, 50)
cmd.Parameters("@Name ").Direction = ParameterDirection.Output
cmd.ExecuteScalar()
Name = cmd.Parameters("@Name").Value
TextBox1.text=Name
Catch ex As Exception
MsgBox(ex.Message)
Finally
dtc = Nothing
dr = Nothing
da = Nothing
End Try
End Sub
Когда я пытаюсь выполнить этот код, я получаю это исключение:
"Преобразование не удалось при преобразованиизначение varchar 'Blue color' для типа данных int. "
Что я делаю не так?Спасибо!