• Sábado 9 de Noviembre de 2024, 02:20

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - marcelo_roig

Páginas: [1]
1
VB .NET / Metodo De Programacion Con Clases
« en: Jueves 31 de Mayo de 2007, 03:42 »
Hola Amigos!!! Soy nuevo en el Foro, y estube sondeando por aqui y espero que puedan echarme una mano...

Estoy tratando de programar algo mas chuchi, pero estoy teniendo un problemita, tengo una clase  Estructuras con una estructura de datos InfoCostos:

Public Class Estructuras
    Public Structure InfoCostos
        Public Codigo As Integer
        Public CodMercaderia As Integer
        Public Fecha As Date
        Public PrecioCosto As Integer
    End Structure
end class

Cree mi Funcion Recuperar() en otra clase, para cargar los datos de la BD a un ArrayList:

Public Function Recuperar() As ArrayList()
        Dim dr As OleDbDataReader
        Dim estCosto As Estructuras.InfoCostos

        Dim myConnection As New OleDbConnection(CnnStr)
        Dim myCommand As New OleDbCommand("Select Codigo, CodMercaderias, Fecha, Precio_Costo from Costos", myConnection)
        myConnection.Open()
        dr = myCommand.ExecuteReader()

        Dim lst As New ArrayList()
        Try
            While dr.Read()
                With estCosto
                    .Codigo = dr(0)
                    .CodMercaderia = dr(1)
                    .Fecha = dr(2)
                    .PrecioCosto = dr(3)
                End With
                lst.Add(estCosto)
            End While
            '-----Cierro el reader---
            dr.Close()
            Return lst
        Catch ex As Exception
            Throw ex
        Finally
            If Not (dr Is Nothing) Then
                dr.Close()
            End If
        End Try
    End Function

Y de un formulario trato de recuperar los datos del arraylist que contiene la estructura:

Dim ds As New DataSet()
        Dim lst As Estructuras.InfoCostos
        Dim i As Integer

        '--- Recupero datos de la BD ---
        lst = Recuperar()

        '--- Limpio el contenedor y luego lo cargo ---
        'ds.Rows.Clear()

        '--- Recorro los items de tu array y luego cargas eso en un dataset ---
        For i = 0 To lst.Length - 1
            MessageBox.Show(lst(i).Codigo & " " & lst(i).CodMercaderia & " " & lst(i).Fecha & " " & lst(i).PrecioCosto)

        Next

Y esto no me funciona, se que la idea es correcta pero en algo me estoy equivocando y ya le di muchas vueltas...
Porfa si pueden darme una mano les voy a agradecer muchisimo...
Este codigo es buenisiomo para programar grandes sistemas, si es que funciona, jejeje...

Páginas: [1]