Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con un Array

Estas en el tema de Problema con un Array en el foro de .NET en Foros del Web. Hola gente. tengo el siguiente problema la idea es conectar a una base que contiene distintos rubros, entonces loopeo esa base para guardar los rubros ...
  #1 (permalink)  
Antiguo 13/06/2005, 07:12
Avatar de momo  
Fecha de Ingreso: abril-2003
Mensajes: 898
Antigüedad: 21 años, 10 meses
Puntos: 0
Problema con un Array

Hola gente.
tengo el siguiente problema
la idea es conectar a una base que contiene distintos rubros, entonces loopeo esa base para guardar los rubros en un array.
pero cuando quiero hacer un msgbox del valor del array me muestra el msgbox sin nada...""
ahora si le pongo dentro del loop que me muestre el rubro que estaleyendo me lo muestra bien. osea que el problema lo tengo en el array.
Este es el code que tengo:

Dim rubros() As String
MasterConn.ConnectionString = MasterAccessConnect
MasterConn.Open(MasterAccessConnect)
MasterRs = New ADODB.Recordset
MasterRs.Open("SELECT * FROM tablarubros order by id asc", MasterConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
Dim i As Int16
Do Until MasterRs.EOF Or MasterRs.BOF
i = i + 1
rubros(i) = MasterRs.Fields.Item("rubro").Value
ReDim Preserve rubros(i)
Label1.Text = MasterRs.Fields.Item("rubro").Value()
MsgBox(rubros(i)) '***Este msgbox no me muestra nada***
MasterRs.MoveNext()
Loop
MasterConn.Close()

Alguna idea?
Muchas gracias
Mariano
  #2 (permalink)  
Antiguo 13/06/2005, 08:00
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años
Puntos: 50
Hola momo 2 cosas.

1.- Porque estas usando el ADO de la version anterior para conectarte a la base de datos ..?? porque no usas ADO.Net ??

2.- El array recuerda que si es dinámico lo debes inicializar para que lo puedas ir llenando quedaría tu code así:


Cita:
Dim rubros(0) As String
MasterConn.ConnectionString = MasterAccessConnect
MasterConn.Open(MasterAccessConnect)
MasterRs = New ADODB.Recordset
MasterRs.Open("SELECT * FROM tablarubros order by id asc", MasterConn, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
Dim i As Int16
Do Until MasterRs.EOF Or MasterRs.BOF
i = i + 1
rubros(i-1) = MasterRs.Fields.Item("rubro").Value
ReDim Preserve rubros(i)
Label1.Text = MasterRs.Fields.Item("rubro").Value()
MsgBox(rubros(i-1)) '***Este msgbox no me muestra nada***
MasterRs.MoveNext()
Loop
MasterConn.Close()
Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 13/06/2005, 08:12
Avatar de momo  
Fecha de Ingreso: abril-2003
Mensajes: 898
Antigüedad: 21 años, 10 meses
Puntos: 0
Gracias Rootk anda perfecto...Ahora una pregunta...
Cuando decis ADO.net que diferencia tiene con lo que estoy usando yo? Uso esa forma por que es la que conocia y como andaba bien.....
Gacias Again
Salu2
Mariano
  #4 (permalink)  
Antiguo 13/06/2005, 08:16
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años
Puntos: 50
Cita:
Iniciado por momo
Cuando decis ADO.net que diferencia tiene con lo que estoy usando yo? Uso esa forma por que es la que conocia y como andaba bien.....
Si estas empezando con el entorno de .Net... es conveniente que empieces a trabajar con ado.net.., entiendo que funciona pero ya no es algo que se use con éste tecnología.

Es un cambio sumamente grande (para mejorar) de ADO a ADO.Net... su arquitectura es completamente distinta..

Te recomiendo que leas al respecto y cualquier cosa por aqui vamos a andar..
  #5 (permalink)  
Antiguo 13/06/2005, 08:17
Avatar de momo  
Fecha de Ingreso: abril-2003
Mensajes: 898
Antigüedad: 21 años, 10 meses
Puntos: 0
ok me fijo a ver que aprendo nuevo :D
gracias
Mariano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:22.