none
Metodo DataTable.Load(reader) inconsistente RRS feed

  • Pregunta

  • Compañeros estoy desconcertado sobre el comportamiento del compilador cuando realizo un llenado de un DataTable con un DataReader, en una sección si funciona y otra no.Acaso hay algún error en este código?

    Using Scon As New SqlConnection(CadenaConexion)
                Scon.Open()
                Dim cb As String
                Dim cmd As SqlCommand = New SqlCommand("select codigo from productos where producto=@descrip", Scon)
                cmd.Parameters.AddWithValue("@descrip", descripcion)
                Dim reader As SqlDataReader = cmd.ExecuteReader()
                Dim tab As New DataTable
                If reader.Read() Then
                    cb = reader(0)
                    tab.Load(reader)

                End If

            End Using

    Aquí en el video pueden ver con detalle como lo depuro y verán que el primer metodo funciona con la misma técnica, pero al declarar un parámetro se vuelve incosistente

    https://drive.google.com/file/d/1-Kx0Hw18XI0Zre9-fXDEt-3sVpUKKfyd/view?usp=sharing


    La programacion en Microsoft cada ves se torna inalcanzable

    domingo, 4 de agosto de 2019 15:06

Respuestas

  • Solo comentar que lo resolví cambiando el método "reader.Read()" por "reader.HasRows"  no sabría explicar de momento porque un método .Read() se desplaza al siguiente registro cuando uso parámetro. Recuerden que si estoy obteniendo valor al asignar un campo en específico, lo que no me cargaba era el dataTable 

    La programacion en Microsoft cada ves se torna inalcanzable

    viernes, 9 de agosto de 2019 1:38

Todas las respuestas

  • en que momento le asignas un valor a "descripcion"..???
    • Propuesto como respuesta Pablo Rubio miércoles, 7 de agosto de 2019 17:01
    • Votado como útil alfonso_tecnicopa viernes, 9 de agosto de 2019 1:32
    miércoles, 7 de agosto de 2019 15:30
  • Hola alfonso_tecnicopa,

    ¿Tengo una duda sobre tu consulta; y me pregunto sí has usado un depurador o realmente qué esperas que tu código haga?

    ¿Podría aclarar un poco más sobre ello?

    Gracias por usar los foros de MSDN.

    Erick Rivera
     ____
    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde.
    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft. 
    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.
    miércoles, 7 de agosto de 2019 18:10
  • en que momento le asignas un valor a "descripcion"..???
    Lo hago antes del using . No lo pusé aquí pero si miraste el video ahí existe con valor string

    La programacion en Microsoft cada ves se torna inalcanzable


    viernes, 9 de agosto de 2019 1:32
  • Hola alfonso_tecnicopa,

    ¿Tengo una duda sobre tu consulta; y me pregunto sí has usado un depurador o realmente qué esperas que tu código haga?

    ¿Podría aclarar un poco más sobre ello?

    Gracias por usar los foros de MSDN.

    Erick Rivera
     ____

    Por supuesto he utilizado el depurador de VisualStudio, ahí en el link del video se aprecia como está generando valor para la primer consulta y como en la segunda .. ya no.

    La programacion en Microsoft cada ves se torna inalcanzable

    viernes, 9 de agosto de 2019 1:35
  • Solo comentar que lo resolví cambiando el método "reader.Read()" por "reader.HasRows"  no sabría explicar de momento porque un método .Read() se desplaza al siguiente registro cuando uso parámetro. Recuerden que si estoy obteniendo valor al asignar un campo en específico, lo que no me cargaba era el dataTable 

    La programacion en Microsoft cada ves se torna inalcanzable

    viernes, 9 de agosto de 2019 1:38