Buscar en Asptutor     
Demo Tienda Virtual Tutorcar
 Navegacion->Inicio | Active Server Pages  

La web de los recursos y ejemplos de asp

Versión para imprimir

 

Alojado en:


urbe-networks.com

Recomienda esta pagina a un amigo

Servicios Gratuitos

Articulos relacionados

Utilizar GetRows()

Tienda Virtual - Carrito de compra

Messenger a través de BD en ASP

Miniaplicacion de comercio electronico

Objeto Datagrid de ASP.NET en ASP

Acotación de resultados

El Objeto Response

El Objeto Error

Planificación de un sitio Web

Ejemplos de objeto Response

Configuracion ODBC

Insertar imágenes en una base de datos

El Objeto Application

Un Generador de claves aleatorias

Miniaplicacion de comercio electronico

Objeto Datagrid de ASP.NET en ASP


Enlaces recomendados

   

Tutorial ASP

Utilizar GetRows()
Este articulo ha sido leído 24.653 veces

Utilizar GetRows()

  Colaboración enviada por Juan Simon

 

Utilizar GetRows()
 
GetRows es una de las mejores y más utiles propiedades de un recordset en asp.
La gente no suele utilizarlo e incluso a mi me han llegado a decir que no sirve de nada y eso simplemente es por que no lo conocen.
Para poneros un ejemplo de la rapidez en grandes consultas os dire que una funcion recursiva que hice para mi empresa tardaba cerca de 1:30 minutos en devolver todos los resultados, con GetRows me tarda 2 segundos.

En un bucle donde se imprimien los datos de un RecordSet se pueden llegar a hacer cientos de llamadas al servidor y mantiendo el objeto y la conexion abiertas.

Una peticion por cada RS.movenext, otra por cada RS("campo") y otra por cada RS.EOF.

Con getrows() solo haces una y luego ya se trabaja con un array.
 
 
Ejemplo de codigo con GetRows() (leer comentarios de entre medio):
 

dim RS, sql
dim array_resultados, n_resultado
dim nombre, apellidos
 
sql = "SELECT nombre,apellidos FROM usuarios"
'Lo correcto es indicar todos los campos que se quieren extraer en la consulta para luego 'sacarlos correctamente del 'array. Si se pone un asterisco y luego se cambia el orden de los 'campos en la tabla desde asistente de base de 'datos, habra que cambiar el orden de 'extraccion de los datos en el array.
 
set rs = server.CreateObject("adodb.recordset")
rs.open sql, conexion
 
if not (rs.EOF and rs.BOF) then
     array_resultados = rs.GetRows()
end if
 
rs.Close
set rs = nothing
 
'Ubound(array_resultado,2) el dos indica el numero de filas, el 1 indica el numero de columnas
'array_resultados(x,y) el x indica la columna y la y las filas
 
if(isarray(array_resultados))then
      for n_resultado = Lbound(array_resultados,2) to Ubound(array_resultados,2)
          nombre = trim(array_resultados(0,n_resultado))
          apellidos = trim(array_resultados(1,n_resultado)) 
          Response.Write("" & nombre & " - " & apellido)
      next
end if
 

 

Espero que os sirva de ayuda.
  
 Y recordad de con esto vuestra pagina se convierte en más rápida y gasta menos recursos.

  
 

¿Estas empezando y este articulo es muy complejo para tí?
Empieza por el principio, visita Ejemplos Básicos

Puedes obtener un listado completo de todos los artículos y ejemplos de ASP en http://www.asptutor.com/asp/todoslosarticulos.asp
 

Valora este articulo   Malo Excelente  
16 usuarios han valorado este articulo. Valoracion media:

Nota: Para cualquier consulta u opinión sobre este articulo puedes usar los foros

 

 

AspTutor lo hacemos entre todos ¿Como vas a colaborar hoy?


Google

 

Descargas de manuales¦ Ejemplos de código ¦ Artículos mas visitados ¦ Envía tu articulo ¦ Foros ¦
  Libro de visitas ¦Crea un enlace con ASPTutor 
 

    © 2001-Hasta hoy  Pedro Rufo Martín  contactar