Вот как вы бы вызывали хранимую процедуру в SQL Server из VB.NET с показанным вами параметром:
Dim testInt As Integer = -1
Using conn As New SqlConnection(SQLRdrConnectString)
Using cmd As New SqlCommand("usp_CannedGlobalSearch", conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add(New SqlParameter With {
.ParameterName = "@trm",
.SqlDbType = SqlDbType.VarChar,
.Size = 255,
.Value = "PartNumber"})
conn.Open()
Dim res As Object = cmd.ExecuteScalar()
If res IsNot Nothing Then
testInt = Convert.ToInt32(res)
End If
End Using
End Using
Часть с Dim res As Object...
должна вообще ничего не возвращать,даже NULL и значение testInt
будет равно -1, так что вы можете проверить это.Если хранимая процедура всегда возвращает целое число, ее можно заменить одной строкой:
testInt = Convert.ToInt32(cmd.ExecuteScalar())