Tengo una funcion para manejar los parametros de SQL
Public
Sub Parameter(ByVal CampoParametro As String, ByVal TipoDato As SqlDbType, ByVal TamDato As Integer, ByVal Valor As String)
sqlcmd.Parameters.Add(
New SqlParameter(CampoParametro, TipoDato, TamDato))
sqlcmd.Parameters(CampoParametro).Value = Valor
End Sub
Ahora desde otra funcion la invoco para pasar un parametro tinyInt a un sp y este se ejecute
Sub
ActualizaStock(ByVal idprod As String, ByVal stk As Single, ByVal stka As Single, ByVal stkc As Integer, ByVal fecha As Date, ByVal dprod As String, ByVal ids As Integer, ByVal xbd As Int16)
--
fsql.Parameter("@xbdc", SqlDbType.TinyInt, 0, xbd)
--
End Sub
Pero me sale el sgte ERROR
System.OverflowException Error al convertir el valor del parametro de String a Int16 valor demasiado grande o demasiado pequeño para Int16.
Por la logica del programa el valor que estoy pasando seria 0, sin embargo me da ese error, pero cuando lo hago para ejecutar otra funcion casi identica con la misma logica me sale todo correcto.
Necesito su ayuda por favor. Gracias