Error Tipo de datos

05/04/2004 - 19:37 por Cesar Ochica | Informe spam
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

#1 Maximiliano D. A.
06/04/2004 - 14:37 | Informe spam
Hola, si te dio ese error es o porque el parametro de entrada del Store no
es igual al del Where (es lo mas probable, revisalo si?) o que en VB.NET no
lo estes convirtiendo a decimal, aca me mataste porque no tengo ni la menor
idea de como se hace en .NET eso, pero si podrias consultarlo en el foro de
VB.NET.

Para probar: Con tu analizador de consults testia el Store pasandole el
parametro de entrada, si funciona, el problema esta en VB.NET, si no
funciona el problema esta en el Store (sobre todo en el parametro de entrada
como te nombre antes)

Bye


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"Cesar Ochica" escribió en el mensaje
news:
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







Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.618 / Virus Database: 397 - Release Date: 09/03/2004

Preguntas similares