ASP – Problema ordenando Recordset rs.Sort

Written by lopezatienza on 16/09/2014 – 12:42 -

AspClassic

AspClassic

Buenas a tod@s.

Me he encontrado con la necesidad de realizar una ordenación de los registros una vez realizada la consulta, ya que si realizaba la ordenación en la consulta ésta se convertía en intratable llegando a dar un Timeout.

El problema es que al tratar de asignar a la propiedad Sort la columna para ordenar, no hacía nada.

He encontrado la solución utilizando una sobrecarga de la función Open del objeto Recordset:


rs.Open SQLString, Connection, Cursor, Locktype

Cursors:

0 - adForwardOnly (can only scroll through recordset one at a time, in a forward direction)
1 - adOpenKeyset (can scroll through forward or backwards)
2 - adOpenDynamic (real-time changes, highest resource requirements)
3 - adOpenStatic (most often used if scrolling needed)

Lock Types:

1 - adLockReadOnly (can only read data, no updates)
2 - adLockPessimistic (others can't change while locked)
3 - adLockOptimistic (others can access data while in use)
4 - adLockBatchOptimistic (Allows multiple-user updates)


Es necesario pasarle como parámetros:

Cursor = adOpenDynamic

Locktype = adLockOptimistic


Código inicial

set objADO = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
txtSQL = "SELECT * FROM TABLA"
rs.Sort = "FECHA"
OBJADO.open "ConnectionString"
rs.Open txtSQL, objADO

Código después del cambio

set objADO = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
txtSQL = "SELECT * FROM TABLA"
rs.Sort = "FECHA"
OBJADO.open "ConnectionString"
rs.Open txtSQL, objADO, 3, 3


Un saludo y espero os sirva de ayuda.

Autor: Antonio Lopez Atienza


Posted in ASP | No Comments »

Leave a Comment

 

RSS
MCC D5E