Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/06/2003, 18:05
almaluz
 
Fecha de Ingreso: diciembre-2001
Mensajes: 262
Antigüedad: 23 años, 5 meses
Puntos: 0
Lo que hago es comprobar si la variable application existe, si no existe leo de la base de datos las categorias, y las asigno a una variable application que esta disponible para todos los usuarios sin necesidad de volver a solicitarla al server.

Asi:

Código:
IF NOT isArray(Application("CategoriasProductos")) THEN		' Comprobamos que no exista el array
Set catRs=Server.CreateObject("ADODB.RecordSet")			' en caso de que no exista creamos el recordset
catRs.ActiveConnection= con									' asignamos el objeto recordset a la conexion 
sqlString="SELECT * FROM catweb ORDER BY nombre"				' establecemos la consulta sql
catRs.Open sqlstring										' ejecutamos la consulta
CategoriasProductos = catRs.GetRows()						' volcamos el resultado de la consulta en GetRows
		' esto nos da una matriz de dos dimensiones, la primera dimension corresponde al nombre del campo
		' y la segunda al numero de registro
Application Lock											' bloqueamos la application
Application("CategoriasProductos")= CategoriasProductos		' asignamos el resultado de la consulta a la application
Application Unlock											' desbloqueamos la application
catRs.Close													' ahora cerramos y destruimos el recordSet
Set catRs=Nothing
END IF
%>
luego, donde deseo muestro ...

Código:
<%
	FOR i=0 TO UBOUND(Application("CategoriasProductos"),2)' desde que i vale 0 hasta el final de la segunda dimension
															' osea el final de los registros
	codigo = Application("CategoriasProductos")(0,i)		' 0 el primer campo de la tabla( osea el codigo), i el registro
	nombre = Application("CategoriasProductos")(1,i)		' 1 el segundo registrro de la tabla ( o sea el nombre de la categoria)
%>
<a href="efamilia.asp?categoria=<%=Server.URLEncode(codigo)%>&nomcat=<%= nombre%>" class="catrapida"><%= nombre %></a>
NEXT
lo saqué de un libro

asi evitamos pedir tanto al servidor

Saludos