Foros del Web » Programación para mayores de 30 ;) » .NET »

VB 2005 - Campo NULL de la BD

Estas en el tema de VB 2005 - Campo NULL de la BD en el foro de .NET en Foros del Web. Hola amigos estoy leyendo de mi base de datos un campo que al parecer, está en NULL y me sale el siguiente error: Exception: System.InvalidCastException ...
  #1 (permalink)  
Antiguo 03/10/2008, 04:25
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
VB 2005 - Campo NULL de la BD

Hola amigos estoy leyendo de mi base de datos un campo que al parecer, está en NULL y me sale el siguiente error:

Exception: System.InvalidCastException : LA conversión del tipo 'DBNull' en el tipo 'String' no es válida.

Hay alguna manera de que si el campo es NULL me lo convierta a string??


Gracias!!!!
  #2 (permalink)  
Antiguo 03/10/2008, 07:34
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: VB 2005 - Campo NULL de la BD

Si el campo es NULL, en VB entra como DBNull. Lo que tienes que hacer antes de cualquier conversión es precisamente verificar que no sea DBNull.
Un simple IsDBNull() alcanzará en un
Código:
If IsDBNull(campo) then
campo = ""
End If
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 03/10/2008, 08:19
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VB 2005 - Campo NULL de la BD

Gracias!!!
  #4 (permalink)  
Antiguo 16/10/2008, 06:35
 
Fecha de Ingreso: marzo-2007
Mensajes: 538
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: VB 2005 - Campo NULL de la BD

me surge otro problemilla y es que teniendo este codigo

Código:
campo4 = correctWord(dt.Rows(i).Item("Ingredientes1"), "string", 24)      ' Nombre                      24 pos
si dt.Rows(i).Item("Ingredientes1") es NULL me peta, por lo que antes, tendria que chekear si es null o no.

Código:
If IsDBNull(dt.Rows(i).Item("Ingredientes1")) Then
    dt.Rows(i).Item("Ingredientes1")= ""
    ' Guardar el dt
End If
pero no sé el código para guardar el dt

anterior a todo este codigo tengo lo siguiente
Código:
            cstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Forms.FrmMain.tbRutaIngredientes.Text & ";Extended Properties=Paradox 5.x;"
            cnn = New OleDbConnection(cstring)

            sentencia = "SELECT * FROM ArticulosAPeso"

            'Crear el comando (ejecuta la sentencia)
            cmd = New OleDbDataAdapter(sentencia, cnn)

            'volcar resultados en DataTable
            dt = New DataTable
            cmd.Fill(dt)
me podríais decir como modifico el valor en la tabla y la guardo?
gracias!!!
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 06:16.