509 artículos, 3.651 opiniones y 2.444 usuarios desde 2006
Por francisco | 23 de Agosto del 2007
Para realizar consultas que nos van a devolver múltiples líneas de resultados utilizaremos el objeto DataReader.
El DataReader proporciona un modo sencillo y ligero en términos de uso de memoria para leer consultas devueltas de una base de datos. Es de solo lectura y con desplazamiento solo hacia delante, podríamos compararlo con un RecordSet de ADO.
En este ejemplo utilizaremos un OleDbDataReader ya que nuestra base de datos esta creada con Access. OleDbDataReader es miembro del espacio con nombre System.Data.OleDb.
El proceso siempre es el mismo y lo único que cambiara es en que tipo de control volcamos los resultados. En este ejemplo vamos a realizar una consulta a una base de datos y vamos a recoger los datos devueltos en un control ListView. Este control tiene diferentes vistas y nosotros vamos a utilizar la de tipo detalle. Es un control muy útil y que da un aspecto profesional a las aplicaciones que desarrollamos.
Nuestro formulario será el siguiente:
Modificaremos las siguientes propiedades del ListView:
Name: Rejilla
GridLines: True
View: Detail (Como habéis observado las vistas son muy interesantes)
Columns: Se abre un cuadro de dialogo y pulsaremos el botón Agregar. A continuación modificaremos la propiedad Text y pondremos Cliente y la propiedad width pondremos 200 y pulsaremos Agregar y añadiremos otra columna según se muestra en el ejemplo y con la anchura que mejor se os adapte a vosotros y pulsaremos Aceptar.
Haremos doble clic en el botón del formulario y escribiremos el siguiente código:
'creo la sentencia SQL del valor que quiere recuperar:
'el nombre y dirección de todos los clientes cuya población sea Barcelona
'y que me los devuelva ordenador alfabéticamente por el nombre del cliente.
'creamos el comando al que pasamos la sentencia sql y le indicamos que conexión debe utilizar
'tal como vimos en blogs anteriores.
'creamos un objeto OleDbDataReader
'Para ejecutar el comando con el OleDbDataReader utilizaremos el método ExecuteReader del comando.
'Y para leer los resultados devueltos utilizaremos el método Read sobre el OleDbDataReader 'Al llamar al método Read pasamos directamente al primer registro devuelto. 'El método Read devuelve un valor booleano. Si devuelve True quiere decir que hay más registros ' y por tanto el bucle While continuara. Cuando devuelva False se saldrá del bucle While
Como resultado hemos llenado nuestra rejilla con los resultados de la base de datos. Sencillo y eficiente, poco más podemos pedir.
¿Te ha gustado? Recibe lo más interesante sobre informática en tu email:
Artículos relacionados
Opiniones
Aún no hay comentarios
Comparte tu opinión
Tu opinión es importante para todos nosotros.
Temas relacionados