1
« 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...