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

¿Como contar resultados select, OLDB?

Estas en el tema de ¿Como contar resultados select, OLDB? en el foro de .NET en Foros del Web. Hola a todos. Uso este codigo para seleccionar valores de una base ACCESS Código: consulta = New OleDb.OleDbCommand("SELECT * FROM grupos ORDER BY grupo ASC", ...
  #1 (permalink)  
Antiguo 02/09/2007, 12:24
 
Fecha de Ingreso: septiembre-2006
Mensajes: 64
Antigüedad: 18 años, 5 meses
Puntos: 2
¿Como contar resultados select, OLDB?

Hola a todos. Uso este codigo para seleccionar valores de una base ACCESS

Código:
        consulta = New OleDb.OleDbCommand("SELECT * FROM grupos ORDER BY grupo ASC", con)
        reader = consulta.ExecuteReader()

        Me.listGrupos.Items.Clear()
        While (reader.Read())
            Me.listGrupos.Items.Add(reader.GetString(1))
        End While
        reader.Close()
Pero para otro codigo que tengo que hacer me gustaria saber si se puede obtener el numero de filas devueltas por consulta.ExecuteReader().

Un saludo.
  #2 (permalink)  
Antiguo 02/09/2007, 21:49
Avatar de RootK
Moderador
 
Fecha de Ingreso: febrero-2002
Ubicación: México D.F
Mensajes: 8.004
Antigüedad: 23 años, 1 mes
Puntos: 50
Re: ¿Como contar resultados select, OLDB?

tienes varias formas

1.- hacer directo un COUNT con EXECUTENONQUERY
consulta = New OleDb.OleDbCommand("SELECT count(*) FROM grupos", con)
dim Total as Integer = CType(consulta.ExecuteNonQuery(), Integer)

2.- Colocar un contador en tu ciclo

Dim total as Integer = 0;
While (reader.Read())
Me.listGrupos.Items.Add(reader.GetString(1))
total = total + 1
End While

3.- Si lo estás guardando en un objeto puede ocupar su propio método para saber el total, para tu caso sería:

Dim total as Integer = Me.listGrupos.Items.Count

4.- En vez de ocupar un objeto reader puedes ocupar un Datatable y hacer un count de las rows que regresó

Ya depende de tí cual deseas ocupar y en que caso aplique

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

Exentrit - Soluciones SharePoint & Net
  #3 (permalink)  
Antiguo 03/09/2007, 05:28
 
Fecha de Ingreso: septiembre-2006
Mensajes: 64
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: ¿Como contar resultados select, OLDB?

Muchas gracias.
Actualmente lo hago como en el paso 1. Ya que el codigo varia en funcion del numero resultante.
Lo que me parecia mas extraño es que el objeto "reader", que es si mal no recuerdo OleDb.OleDbDataReader ( o algo si), no contase con una propiedad que le permitiese saber el numero de filas que posee.

De todos modos muchas gracias. Me ha sido de mucha ayuda.
  #4 (permalink)  
Antiguo 03/09/2007, 10:16
Avatar de .seb  
Fecha de Ingreso: marzo-2006
Ubicación: Uruguay
Mensajes: 493
Antigüedad: 19 años
Puntos: 1
Re: ¿Como contar resultados select, OLDB?

Cita:
Iniciado por amokiller Ver Mensaje
Lo que me parecia mas extraño es que el objeto "reader", que es si mal no recuerdo OleDb.OleDbDataReader ( o algo si), no contase con una propiedad que le permitiese saber el numero de filas que posee.
OleDbDataReader.RecordsAffected ?
__________________
saludos
seba
http://sgomez.blogspot.com
  #5 (permalink)  
Antiguo 04/09/2007, 08:56
 
Fecha de Ingreso: septiembre-2006
Mensajes: 64
Antigüedad: 18 años, 5 meses
Puntos: 2
Re: ¿Como contar resultados select, OLDB?

Hola .seb
RecordsAffected, solo devuelve valor si es INSERT, DELETE o UPDATE, pero no con SELECT.

Un saludo
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 13:14.