
08/09/2008, 07:31
|
| | Fecha de Ingreso: noviembre-2007
Mensajes: 133
Antigüedad: 17 años, 6 meses Puntos: 0 | |
Cargar a Colecciones (VB6 + MYSQL) Hola gente estoy intentando usar colecciones con vb
El tema es que consegui un ejemplo y lo adapte mas o menos a lo que quiero... Intento recorrer una tabla de clientes y guardar los datos de estos en la coleccion (cmdAsignar_Click()). Aca esta el codigo
funciona pero solo tiene un problema
Si la cosulta me trae 2000 registros cuando recorro la coleccion (cmdMostrar_Click()) y los cargo al listbox me carga 2000 registros, el problema es que todos con el mismo dato y ese mismo dato siempre es el del ultimo registro
si es ultimo registro es Juan Perez me trae 2000 registros pero todos son Juan Perez
Bueno estoy usando vb6 + mysql y la idea es cargar estos datos a la coleccion para no tener que acceder tanto a la bd teniendo en cuenta que me conecto al servidor atravez de internet
Muchas Gracias
Dim rs As ADODB.Recordset
Dim db As ADODB.Connection
Option Explicit
' Colección para almacenar los datos de los clientes
Private mColegas As Collection
Private Sub cmdAsignar_Click()
Dim oColega As ccolega
Set oColega = New ccolega
On Error Resume Next
Dim strsql As String
strsql = "select apellido, fechanac, nombre from clientes"
Set rs = New ADODB.Recordset
rs.ActiveConnection = db
rs.Open (strsql), db, adOpenDynamic, adLockOptimistic
If rs.BOF And rs.EOF Then
Else
rs.MoveFirst
While rs.EOF = False
oColega.nombre = rs!nombre
oColega.email = rs!apellido
oColega.fechanacimiento = rs!fechanac
mColegas.Add oColega
rs.MoveNext
Wend
End If
End Sub
Private Sub cmdMostrar_Click()
Dim oColega As ccolega
List1.Clear
For Each oColega In mColegas
List1.AddItem oColega.nombre & " - " & oColega.email & " - " & oColega.fechanacimiento
Next
End Sub
Private Sub Form_Load()
Set db = New ADODB.Connection
db.Open "Driver={MySQL ODBC 3.51 Driver};" & _
"Server=localhost;" & _
"Port=3306;Database=ssdmgestion;" & _
"User=root;Password=tiamirta;Option=3;"
' Creamos el objeto colección
Set mColegas = New Collection
'
End Sub
y tengo ademas un modulo de clase solo con esto
Public nombre As String
Public email As String
Public fechanacimiento As Date |