Foros del Web » Programando para Internet » ASPX (.net) »

Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

Estas en el tema de Problema "la conversion 'bdnull' en el tipo 'string' no es valida" en el foro de ASPX (.net) en Foros del Web. HOLA COMPAÑEROS(AS) EL PROBLEMA ES QUE VISUAL STUDIO 2008 ME DA ESTE ERROR CON LA BD "LA CONVERSION DE TIPO 'BDNULL' EN EL TIPO 'STRING' ...
  #1 (permalink)  
Antiguo 19/08/2011, 09:36
Avatar de io_web  
Fecha de Ingreso: junio-2011
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 0
Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

HOLA COMPAÑEROS(AS)

EL PROBLEMA ES QUE VISUAL STUDIO 2008 ME DA ESTE ERROR CON LA BD
"LA CONVERSION DE TIPO 'BDNULL' EN EL TIPO 'STRING' NO ES VALIDA"

Y QUIERO SABER COMO SOLUCIONARLO ACLARO SOY NOVATO Y REQUIERO LA MEJOR ESPLICACIÓN POSIBLE.
__________________
"Sabio es aquel que tiene sabiduría, Pero también es aquel que acepta la corrección"
  #2 (permalink)  
Antiguo 19/08/2011, 09:39
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

1. EN UN FORO NO ESCRIBAS EN MAYUSCULAS PORQUE ES PARTE DE MALA EDUCACION, ES EQUIVALENTE A GRITARLE A LAS DEMAS PERSONAS QUE TE VEN.

2. ahora si.

el error se muestra porque recuperaste de la base de datos algun campo que esta NULL, al tratar de hacer el .ToString() para obtener el valor te sale el error.

Esto lo puedes validar antes de hacer el .ToString().

Me podrias mostrar el codigo de como recuperas la informacion para ver como hacemos la validacion.

Saludos.
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 19/08/2011, 09:47
Avatar de io_web  
Fecha de Ingreso: junio-2011
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

jaja no tenía ni idea de que mayusculas es gritar en el foro, mmm gracias por el dato.

y bueno respecto al codigo:

estoy creando un filtro en mi web aspx, el cual me muestra datos dentro de texbox relacionados con el campo de la tabla de la bd al que pertenecen.

el problema surge cuando quiero hacer la busqueda me tira el error y pues aki esta el codigo del boton:

Protected Sub Button_buscar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button_buscar.Click

Dim l_connectionstring As String = l_bd
Dim l_select As String = " SELECT * FROM directorio WHERE nombre LIKE '%" & Me.TextBox_buscar.Text & "%' AND cargo LIKE '%" & Me.TextBox_buscar_cargo.Text & "%'"

Dim myConnection As New SqlConnection(l_connectionstring)
myConnection.Open()
Dim conect As New SqlCommand(l_select, myConnection)
Dim lee_BD As SqlDataReader
lee_BD = conect.ExecuteReader()

Do While lee_BD.Read()
If Not (IsDBNull(lee_BD(0))) Then
Me.TextBox_nombre.Text = lee_BD("nombre")
Me.TextBox_sede.Text = lee_BD("sede")
Me.TextBox_cargo.Text = lee_BD("cargo")
Me.TextBox_dpto.Text = lee_BD("departamento")
Me.TextBox_extension.Text = lee_BD("extension")
Me.TextBox_inalambrico.Text = lee_BD("inalambrico")
Me.TextBox_celular.Text = lee_BD("celular")
End If
Loop
lee_BD.Close()
myConnection.Close()
lee_BD = Nothing

End Sub
__________________
"Sabio es aquel que tiene sabiduría, Pero también es aquel que acepta la corrección"
  #4 (permalink)  
Antiguo 19/08/2011, 10:02
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

Cita:
Iniciado por io_web Ver Mensaje

ACA INICIA EL TRY

Do While lee_BD.Read()
If Not (IsDBNull(lee_BD(0))) Then
Me.TextBox_nombre.Text = lee_BD("nombre")
Me.TextBox_sede.Text = lee_BD("sede")
Me.TextBox_cargo.Text = lee_BD("cargo")
Me.TextBox_dpto.Text = lee_BD("departamento")
Me.TextBox_extension.Text = lee_BD("extension")
Me.TextBox_inalambrico.Text = lee_BD("inalambrico")
Me.TextBox_celular.Text = lee_BD("celular")
End If
Loop

ACA LO TERMINAS

lee_BD.Close()
myConnection.Close()
lee_BD = Nothing

End Sub
Has usado el try .... catch.....

http://msdn.microsoft.com/es-es/libr...=vs.80%29.aspx

Usalo para controlar los posibles errores no controlados, esto siempre ocurre por mas que uno lo valide. XD

Lo otro es que tengo unas observaciones.

1. Estas haciendo la consulta con un LIKE y esto da varias alternativas.
  1. No mostrar ningun resultado
  2. Mostar un resultado
  3. Mostar varios resultados

Pero estas mostrando los datos contra cajas de texto, si traes varios datos solo vas a ver en los textos el ultimo de la lista.

Recomendacion mostrar los resultados en una grid o cambiar la consulta por un =


Código SQL:
Ver original
  1. SELECT * FROM directorio WHERE nombre = '" & Me.TextBox_buscar.Text & "' AND cargo ='" & Me.TextBox_buscar_cargo.Text & "

Y si vas a mostrar datos en una grid no usaria un ExecuteReader(), lo hacia cargando una tabla con un DataAdapter

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #5 (permalink)  
Antiguo 19/08/2011, 10:18
Avatar de io_web  
Fecha de Ingreso: junio-2011
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

Gracias por tu ayuda con el try, ya logre poner los errore y se me mustran en un label, y con lo de el filtro voy a investigar como hacer la busqueda con dataadapter.

Gracias compañero.
__________________
"Sabio es aquel que tiene sabiduría, Pero también es aquel que acepta la corrección"
  #6 (permalink)  
Antiguo 19/08/2011, 10:29
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

Mira esta documentacion,

http://msdn.microsoft.com/es-es/libr...=vs.80%29.aspx

Si tienes dudas me comentas.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #7 (permalink)  
Antiguo 19/08/2011, 10:30
Avatar de io_web  
Fecha de Ingreso: junio-2011
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

otra cosa, lo estoy haciendo en textbox, de todas formas al insertar al nombre y ó el cargo, me manda a dato correcto ya que el cargo no se repite.
tambien le coloque el LIKE porque solo con teclear algunas letras el el texbox, me manda al dato y al hacerlo con el "=" tenía que teclearlo tal y como es.

el error me lo dan 2 texbox,
Código:
Me.TextBox_extension.Text = lee_BD("extension")
                Me.TextBox_inalambrico.Text = lee_BD("inalambrico")
bueno tres contando el de
Código:
Me.TextBox_cargo.Text = lee_BD("cargo")
que creo que es por que al crearlos les indiqué que fueran nulos.

pero yo pensé que eso se arreglaba con
Código:
 If Not (IsDBNull(lee_BD(0)))
alguna idea??
__________________
"Sabio es aquel que tiene sabiduría, Pero también es aquel que acepta la corrección"

Última edición por io_web; 19/08/2011 a las 10:35
  #8 (permalink)  
Antiguo 19/08/2011, 10:45
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 1 mes
Puntos: 76
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

Realmente tenes que hacer eso en cada campo,

if lee_BD("cargo") <> null or lee_BD("cargo") <> nothing then
Me.TextBox_cargo.Text = lee_BD("cargo")
end if

Creo que asi se haria en VB.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #9 (permalink)  
Antiguo 19/08/2011, 11:01
Avatar de io_web  
Fecha de Ingreso: junio-2011
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

brother le agregé el codigo y un if pero no funciono y al quitar el if agragado y dejarlo como estaba ¡Funciono! a que se deberá? afectará esto más adelante?

pues en la escuela siempre decían los compañeros que si algo jalaba que ya no le moviera jaja pero io kiero saber por que? o que fue lo que paso?.

¡¡ muchaz gracias x todo bro DTB siempre y ps gracias al foro tmbn!!
__________________
"Sabio es aquel que tiene sabiduría, Pero también es aquel que acepta la corrección"
  #10 (permalink)  
Antiguo 19/08/2011, 11:07
Avatar de io_web  
Fecha de Ingreso: junio-2011
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

seguiré intentando con el if por que creo que si me va a traer dificultades si lo dejo asi, gracias por tu ayuda.
__________________
"Sabio es aquel que tiene sabiduría, Pero también es aquel que acepta la corrección"
  #11 (permalink)  
Antiguo 25/08/2011, 08:06
Avatar de io_web  
Fecha de Ingreso: junio-2011
Mensajes: 57
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Problema "la conversion 'bdnull' en el tipo 'string' no es valida"

Descubrí que el procedimieno si es funcional solo que me mandaba al error por que como comentaba jhonwilliams

"Usalo para controlar los posibles errores no controlados, esto siempre ocurre por mas que uno lo valide."

entonces agregue el Try como me lo recomendo y funciono solo quite el mensaje del error dentro del try.

aki esta el codigo por si alguien lo necesita:

Código ASP:
Ver original
  1. Try
  2.             Catch ex1 As System.Data.SqlClient.SqlException
  3.             Select Case ex1.Number
  4.             Case 17
  5.             Label_msj.Text = ("Nombre del servidor es invalido")
  6.             Case 156, 170 'bad sql sintax
  7.             Label_msj.Text = ("Sintaxis Incorrecta")
  8.             Case 207      'bad file name in select
  9.             Label_msj.Text = ("Columna Invalida")
  10.             Case 208      'bad tsble nsme in select
  11.             Label_msj.Text = ("Nombre de Objeto Invalido")
  12.             Case 18452
  13.             Label_msj.Text = ("Nombre de Usuario Invalido")
  14.             Case 18456
  15.             Label_msj.Text = ("Password Invalido")
  16.             Case 4060
  17.             Label_msj.Text = ("Base de Datos Invalida")
  18.             End Select
  19.         Catch ex2 As System.Exception
  20.          Label_msj.Text = ("Error Inesperado: " & ex2.Message & ". ")
  21.     End Try

para que el mensaje del error no se muestre solo basta con quitar la siguiente linea del codigo mostrado.

Código ASP:
Ver original
  1. Label_msj.Text = ("Error Inesperado: " & ex2.Message & ". ")
__________________
"Sabio es aquel que tiene sabiduría, Pero también es aquel que acepta la corrección"

Etiquetas: conversion, string, tipo, visual, aspx
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 04:03.