Foros del Web » Programando para Internet » ASP Clásico »

Otra pregunta relacionada con los recursos del servidor...

Estas en el tema de Otra pregunta relacionada con los recursos del servidor... en el foro de ASP Clásico en Foros del Web. Hola, tengo un carro de compras hecho con el objeto diccionario, y este luego es el valor de session("carro"). En el guardo el ID y ...
  #1 (permalink)  
Antiguo 19/05/2005, 17:00
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Otra pregunta relacionada con los recursos del servidor...

Hola, tengo un carro de compras hecho con el objeto diccionario, y este luego es el valor de session("carro"). En el guardo el ID y la cantidad del producto. Actualmente, para mostar el carro estoy haciendo lo siguiente:

set RS = Server.CreateObject("ADODB.RecordSet")
RS.Open "Productos", session("conn")

For each Id in session("carro")

RS.Filter = "Id = "&CInt(Id)&""

------- muestro el precio, descripcion y nombre del producto ------

next

RS.Close
set RS = nothing

He leido por ahi que utilizar RS.Filter no es muy efectivo en cuanto al gasto de recursos, no se que dirán ustedes, me interesa su opinión. Muchas gracias. Saludos.
  #2 (permalink)  
Antiguo 19/05/2005, 18:52
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Encontré otra forma de mostrar el carro... pero la verdad que no se cual será la más eficiente, ojala alguien me pueda ayudar en definir como tengo que mostrar el carro.


Dim arr(3)
I = 0
For each Id in session("carro")
arr(I) = Id
I = I + 1
next

var = Join(arr," OR Id = ")


set RSA = Server.CreateObject("ADODB.RecordSet")
RSA.Open "SELECT Nombre, Descripcion, Precio FROM Productos WHERE Id = "&var&"", session("conn")

RS = RSA.getRows()

RSA.Close
set RSA = nothing

Nombre = 0
Descripcion = 1
Precio = 2

A = 0
For each Id in session("carro")
Response.Write(Id&"  ")
Response.Write(RS(Nombre,A)&"<br>")
A = A + 1
next

Este es el código que utilice para hacer la prueba para ver si funcionaba o no, y si funciona.
Lo que hago primero es guardar en un array los ID's de los productos, para luego hacer una cadena SQL que me quedaría de esta forma "1 OR Id = 4 OR Id = 7" etc, etc, depende de cuantos elementos haya en el carro. Con eso ya puedo hacer el RS a traves de getRows, y luego hago otro bucle para mostrar los resultados.
Esta bien o sería más óptimo lo otro?. Como dije antes, ojala alguien me pueda decir que es lo que debería hacer. Saludos. Muchas gracias.
  #3 (permalink)  
Antiguo 19/05/2005, 19:03
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
prueba los dos scripts
al principio del script pones
a=time

al final pones
response.write time-a
y el que menos tiempo te dé, ese es el más eficiente.
  #4 (permalink)  
Antiguo 19/05/2005, 20:27
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Barbaro, cuando cuelgue las nuevas paginas voy a hacer eso que tu me dices. Ahora me entra otra duda. Teniendo en cuenta que la aplicación está en prueba, y solamente yo la estoy usando, por lo tanto no hay concurrencia de muchos usuarios al mismo tiempo para interactuar con la base de datos, el resultado que me arroje este script, es representativo de la eficacia de cada uno?, o debería hacer esta misma prueba cuando la pagina sea visitada por muchos usuarios?.
Saludos y gracias como siempre Trasgukabi.
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 23:54.