Tengo en una tabla un campo PID tipo deciamal y de precision 13.
Tengo un SP que recibe un parametro @PID as decimal y en base a este hace
una consulta a la tabla con la condicion where PID = @PID.
esto es llamado desde visual basic .NET con la siguiente funcion: PID esta
declarado como decimal
#Region "Consulta y devuelve un DataSet"
Public Shared Function Seleccion(Optional ByVal PID As Decimal = 0) As
DataSet
Dim CL_Dataset2 As New DataSet
Try
If CP_Coneccion2 Is Nothing OrElse CP_Coneccion2.State <>
ConnectionState.Open Then
Conex("Server", "Mostrador", 2)
End If
Dim CP_DatAdapt As New Data.SqlClient.SqlDataAdapter
Dim oCommand As SqlClient.SqlCommand = New SqlClient.SqlCommand("[MT_P04]",
CP_Coneccion2)
Dim Parametro As SqlClient.SqlParameter
Parametro = oCommand.Parameters.Add("@PID", SqlDbType.Decimal, 13)
Parametro.Value = PID
oCommand.CommandType = CommandType.StoredProcedure
CP_DatAdapt = New SqlClient.SqlDataAdapter(oCommand)
CP_DatAdapt.Fill(CL_Dataset2)
Seleccion = CL_Dataset2
CL_Dataset2 = Nothing
CP_DatAdapt.Dispose()
Catch ex As Exception
MsgBox(ex.ToString & " " & ex.Message)
Finally
If CP_Coneccion2.State = ConnectionState.Open Then
CP_Coneccion2.Close()
End If
End Try
End Function
#End Region
El error que me arroja es "error al convertir el tipo de datos varchar a
numeric"
Como lo puedo solucionar
Gracias
Leer las respuestas