Параметры out часто используются для возврата одной записи, когда известно, что когда-либо будет возвращена только одна запись (например, выбор на основе первичного ключа)

у выполнить поиск по таблице, чтобы увидеть, существует ли запись. Я не хочу выполнять вставку или обновление после. Я уже сделал это, но почему-то я не могу заставить это работать. На моей странице asp.net я не могу получить какое-либо возвращаемое значение. Ошибка «входная строка не в правильном формате». Я уверен, что это очевидно, но сейчас я не вижу ее!

вот мой код:

Dim con As New SqlConnection("connstring")
Dim cmd As New SqlCommand("checkname", con)
cmd.CommandType = CommandType.StoredProcedure

cmd.Parameters.Add(New SqlParameter("@d", SqlDbType.Int))
cmd.Parameters("@id").Value = TextBox1.Text

Dim para As New SqlParameter
para.Direction = ParameterDirection.ReturnValue
para.ParameterName = "returnvalue"
cmd.Parameters.Add(para)

con.Open()


cmd.ExecuteNonQuery()
Dim exists As Integer
exists = Convert.ToInt32(cmd.Parameters("returnvalue").Value)
If exists = 1 Then
    Label1.Text = "You......"
         ElseIf exists = 0 Then
    Label1.Text = "You....."

End If
con.Close()

хранимая процедура:

CREATE PROCEDURE checkname 
    -- Add the parameters for the stored procedure here
    @id int
AS
  --This means it exists, return it to ASP and tell us
 -- SELECT 'already exists'

IF EXISTS(SELECT * FROM attendees WHERE id = @id)
BEGIN
RETURN 1
END
ELSE
BEGIN
   RETURN 0
END

Ответы на вопрос(1)

Ваш ответ на вопрос