Problemas con RecordCount

23/09/2004 - 10:40 por Setnis | Informe spam
Hola a todos,

Estoy realizando ciertas consultas desde páginas ASP y
para obtener el número de registros devueltos debo poner
un cursor dinámico para que el recordset pueda ir hacia
adelante y hacia detras.

Set con = Server.CreateObject ("ADODB.Connection")
Set rs = Server.CreateObject ("ADODB.Recordset")

sqlAutodef = "SELECT AUTEXP FROM EXPAUT WHERE" & Autodef

con.Open Session("strConTit")

rs.ActiveConnection = con
rs.CursorType = 1
rs.Open sqlAutodef

Éste es un pequeño ejemplo, el problema que tengo es que
veo que funciona bien hasta que intento introducir una
select con DISTINCT o realizar un INTERSECT entre 2 o
varias selects.

Alguien sabe como poder solucionar éste problema. Quizas
la Cache,... alguna idea

Muchas gracias de antemano
Un saludo!
 

Leer las respuestas

#1 Susana Aceituno Cubero
16/11/2004 - 17:24 | Informe spam
Te puedes ahorrar usar el cursor dinamico y almacenar el resultado de la
consulta sql en una tabla con la propiedad getrow, la cosa quedaria mas o
menos asi

Set con = Server.CreateObject ("ADODB.Connection")

sqlAutodef = "SELECT AUTEXP FROM EXPAUT WHERE" & Autodef

set rs=con.execute(sqlAutodef )
mitabla=rs.getrows

tendiras una tabla bidimensional mitabla(i, j) , donde i seria cada uno de
los campos de que pides en tu consulta select, en tu caso solo tendrias
i=0=autexp; y j seria cada una de las filas resultantes de ejecutar la
consulta.

Este metodo tiene muchas ventajas, entre ellas te soluciona los problemas
con el recordcount

Es bastante util , si quieres mas detalles de esta propiedad puedes ver esta
pagina , http://www.aspfacil.com/articulos/110201.asp, espero q te sea de
ayuda.




"Setnis" escribió en el mensaje
news:08f201c4a148$eeca2940$
Hola a todos,

Estoy realizando ciertas consultas desde páginas ASP y
para obtener el número de registros devueltos debo poner
un cursor dinámico para que el recordset pueda ir hacia
adelante y hacia detras.

Set con = Server.CreateObject ("ADODB.Connection")
Set rs = Server.CreateObject ("ADODB.Recordset")

sqlAutodef = "SELECT AUTEXP FROM EXPAUT WHERE" & Autodef

con.Open Session("strConTit")

rs.ActiveConnection = con
rs.CursorType = 1
rs.Open sqlAutodef

Éste es un pequeño ejemplo, el problema que tengo es que
veo que funciona bien hasta que intento introducir una
select con DISTINCT o realizar un INTERSECT entre 2 o
varias selects.

Alguien sabe como poder solucionar éste problema. Quizas
la Cache,... alguna idea

Muchas gracias de antemano
Un saludo!

Preguntas similares