Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

CAST o CONVERT

Estas en el tema de CAST o CONVERT en el foro de Bases de Datos General en Foros del Web. Hola. Tengo una aplicación .Net en la que estoy haciendo una consulta a una base de datos Access. Tengo algún problemilla con la consulta y ...
  #1 (permalink)  
Antiguo 11/05/2005, 10:32
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
CAST o CONVERT

Hola. Tengo una aplicación .Net en la que estoy haciendo una consulta a una base de datos Access. Tengo algún problemilla con la consulta y me lanza un error. Todos los campos son de tipo texto, por lo que tengo que convertirlos en numéricos antes de poder sumarlos:

SELECT Num,((CAST Precio AS DOUBLE) + (CAST IVA AS DOUBLE)) AS Importe FROM Tabla

¿Cómo sería?

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #2 (permalink)  
Antiguo 11/05/2005, 15:12
Avatar de Mithrandir
Colaborador
 
Fecha de Ingreso: abril-2003
Mensajes: 12.106
Antigüedad: 21 años
Puntos: 25
Lo que indicas es correcto, al menos para TSQL.

¿Tienes algun mensaje de error?

Intenta cambiar (CAST xxxx AS DOUBLE) por Convert(DOUBLE, xxxx) que es lo mismo.
__________________
"El hombre, en su orgullo, creó a Dios a su imagen y semejanza."
Friedrich Nietzsche
  #3 (permalink)  
Antiguo 12/05/2005, 02:56
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Gracias por responder.

La función Convert no está definida, o al menos ese es el error que me indica.

Este es el código completo:

Código:
        Dim con As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & RutaBDInicial)
        Dim dt As New DataTable("Informe")
        Dim strSel As String = "SELECT NumVisado,(CONVERT(DOUBLE,DerechosVisado)+CONVERT(DOUBLE,Legalizacion)) AS Importe FROM " & TablaBDInicial
        Dim da As New OleDbDataAdapter(strSel, con)
        da.Fill(dt)
        Me.dgInforme.DataSource = dt
Si utilizo esta otra sentencia:

SELECT NumVisado,((CAST DerechosVisado AS DOUBLE)+(CAST Legalizacion AS DOUBLE)) AS Importe FROM " & TablaBDInicial

El error es: Error de IErrorInfo.GetDescription con E_FAIL(0x80004005).
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #4 (permalink)  
Antiguo 12/05/2005, 03:37
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 5 meses
Puntos: 4
Lo he solucionado de la siguiente manera.... que cosa más tonta:

CDbl(Legalizacion)

Y ya está.

Gracias y un saludo.
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:10.