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

SelectsSQL + ListBox

Estas en el tema de SelectsSQL + ListBox en el foro de .NET en Foros del Web. Yo hago 3 SELECTS diferentes a una base de datos.Cada SELECT tiene un SqlDataReader. Los 3 van metiendo los datos en el ListBox, pero no ...
  #1 (permalink)  
Antiguo 28/10/2004, 12:06
Avatar de shadow_woman  
Fecha de Ingreso: junio-2004
Ubicación: La Isla De Los Muertos
Mensajes: 60
Antigüedad: 19 años, 10 meses
Puntos: 0
SelectsSQL + ListBox

Yo hago 3 SELECTS diferentes a una base de datos.Cada SELECT tiene un
SqlDataReader. Los 3 van metiendo los datos en el ListBox, pero no se como
lo hace que los Indices de las filas no los pone bien, es como si cada
DataReader empezase una nueva lista, no los pone consecutivos.
La "lista" es el ListBox.
El código es mas o menos asi (bueno los selects son un poquito mas complicados pero no creo que ese sea the problem):

Dim datos1, datos2, datos3 As SqlClient.SqlDataReader

datos1 = cmdSelect1.ExecuteReader
while datos1.Read
nombre = datos1("nombre").ToString
apellidos = datos1("apellidos").ToString
lista.Items.Add ( New ListItem(nombre + apellidos))
end While
datos1.Close

datos2 = cmdSelect2.ExecuteReader
while datos2.Read
dni = datos2("dni").ToString
lista.Items.Add ( New ListItem(dni))
end While
datos2.Close

datos3 = cmdSelect3.ExecuteReader
while datos3.Read
calle= datos3("calle").ToString
lista.Items.Add ( New ListItem(calle))
end While

Entonces se supone que con cada nuevo Item pondria un nuevo indice, es decir
indices consecutivos, pero no, cuando paso del "datos2" al "datos3" vuelve a
empezar los indices.
Es decir, si tengo 2 filas en el datos2 el indice podria ser "2" y "3",
luego al ejecutar el Datos3 e insertar los campos en la misma lista tendria
que seguir el indice como "4", "5",... pero no, vuelve al "2".
¿Alguien sabe como se puede solucionar esto?
Gracias Anticipadas
  #2 (permalink)  
Antiguo 28/10/2004, 12:26
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 22 años, 2 meses
Puntos: 50
NO sería mas limpio hacerlo mas o menos así y usar una variable para crear los índices.

Cita:
Dim iIndex as Integer
datos1 = cmdSelect1.ExecuteReader
while datos1.Read
nombre = datos1("nombre").ToString
apellidos = datos1("apellidos").ToString
lista.Items.Add ( New ListItem(iIndex, nombre + apellidos))
iIndex + =1
end While
datos1.Close

datos2 = cmdSelect2.ExecuteReader
while datos2.Read
dni = datos2("dni").ToString
lista.Items.Add ( New ListItem(iIndex, dni))
iIndex + = 1
end While
datos2.Close
...
...
Bueno, aunque no se si te refieres a índices que traes desde tu BD o índices creadas a partir de una variable (que fue el ejemplo que te puse..)

Salu2
__________________
Nadie roba nada ya que en la vida todo se paga . . .

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 29/10/2004, 00:36
Avatar de shadow_woman  
Fecha de Ingreso: junio-2004
Ubicación: La Isla De Los Muertos
Mensajes: 60
Antigüedad: 19 años, 10 meses
Puntos: 0
Es el indice de la lista, no lo traigo de la base de datos.
Por eso no lo entiendo.Se supone que tendrian que ser numeros consecutivos, por eso no lo entiendo.
Gracias
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 20:09.