none
Resultado sql a una matriz RRS feed

  • Pregunta

  • Buenas estoy programando en vb.net, como hacer para extraer los datos de una consulta y guardarlos en una matriz, ya yo se que la consulta simpre me devolvera 5 columna pero no se la cantidad de filas que me devolvera. Como puedo hacer esto?
    miércoles, 29 de junio de 2011 20:35

Respuestas

  • hola

    porque una matriz y no una lista generica ?

    algo como ser

     

    Dim lista As New List(Of Dato)()

    Using cn As New SqlConnection("connection string")

        Dim sql As String = "SELECT campo1,camnpo2,campo3,campo4, campo5 FROM NombreTabla"

        Dim cmd As New SqlCommand(query, cn)

        Dim reader As SqlDataReader = cmd.ExecuteReader()


        While reader.Read()

            Dim _dato As New Dato()
            _dato.campo1 = Convert.ToString(reader("campo1"))
            _dato.campo2 = Convert.ToString(reader("campo2"))
            _dato.campo3 = Convert.ToString(reader("campo3"))
            _dato.campo4 = Convert.ToString(reader("campo4"))
            _dato.campo5 = Convert.ToString(reader("campo5"))


            lista.Add(reader("numero_parte").ToString())

        End While
    End Using

     

    como veras es ams flexible suar una lista generica

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Carolina Oston miércoles, 29 de junio de 2011 21:10
    miércoles, 29 de junio de 2011 21:07

Todas las respuestas

  • hola

    porque una matriz y no una lista generica ?

    algo como ser

     

    Dim lista As New List(Of Dato)()

    Using cn As New SqlConnection("connection string")

        Dim sql As String = "SELECT campo1,camnpo2,campo3,campo4, campo5 FROM NombreTabla"

        Dim cmd As New SqlCommand(query, cn)

        Dim reader As SqlDataReader = cmd.ExecuteReader()


        While reader.Read()

            Dim _dato As New Dato()
            _dato.campo1 = Convert.ToString(reader("campo1"))
            _dato.campo2 = Convert.ToString(reader("campo2"))
            _dato.campo3 = Convert.ToString(reader("campo3"))
            _dato.campo4 = Convert.ToString(reader("campo4"))
            _dato.campo5 = Convert.ToString(reader("campo5"))


            lista.Add(reader("numero_parte").ToString())

        End While
    End Using

     

    como veras es ams flexible suar una lista generica

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Carolina Oston miércoles, 29 de junio de 2011 21:10
    miércoles, 29 de junio de 2011 21:07
  • ¿Tiene que ser una matriz auténtica? ¿No te vale un objeto de tipo DataTable, que al fin y al cabo contiene filas y columnas, igual que una matriz? Lo digo porque se te valiese el DataTable, entonces es muy sencillo, basta con que crees un DataAdapter y le pidas que haga un Fill del DataTable, y él sólo ya te crea las columnas y las filas que sean necesarias para almacenar todos los resultados.

     

    miércoles, 29 de junio de 2011 21:08
  • la clase seria algo como ser

     

    Public Class Dato
        Public Property campo1() As String
            Get
                Return m_campo1
            End Get
            Set
                m_campo1 = Value
            End Set
        End Property
        Private m_campo1 As String
        Public Property campo2() As String
            Get
                Return m_campo2
            End Get
            Set
                m_campo2 = Value
            End Set
        End Property
        Private m_campo2 As String
        Public Property campo3() As String
            Get
                Return m_campo3
            End Get
            Set
                m_campo3 = Value
            End Set
        End Property
        Private m_campo3 As String
        Public Property campo4() As String
            Get
                Return m_campo4
            End Get
            Set
                m_campo4 = Value
            End Set
        End Property
        Private m_campo4 As String
        Public Property campo5() As String
            Get
                Return m_campo5
            End Get
            Set
                m_campo5 = Value
            End Set
        End Property
        Private m_campo5 As String
    End Class

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 29 de junio de 2011 21:08