ADODB.Recordset error '800a0cb3'

25/05/2004 - 09:44 por Zurki | Informe spam
Hola a todos

Estoy realizando una pàgina en ASP, donde visualizaré los
resultados de una consulta realizada sobre MSSQL2000. Para
realizar la paginación, utilizo las propiedades del
recordset: pagesize, pagecount, absolutepage, ... Y parece
que esto no me funciona bién porque me muestra el
siguiente error:

ADODB.Recordset error '800a0cb3'
El recordset actual no admite marcadores. Puede deberse a
una limitación del proveedor o del tipo de cursor
seleccionado.

El error se refiere a la línia donde miro de assignar un
número a la propiedad del recordset AbsolutePage. Aquí os
adjunto parte del codigo:

Dim strSQL
Set Cn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Set RsCategoria = Server.CreateObject
("ADODB.Recordset")
Cn.ConnectionString
= "DSN=Vins_i_Caves;UID=usuari"
Cn.Open
strSQL = "Exec CnsViWeb '" & Nom & "','" &
categoria & "','" & dori & "','" & celler & "','" & ciutat
& "','" & provincia & "'"
pag=request.querystring("pag")
rs.Open strSQL, Cn, 1, 3
rs.pagesize
if rs.BOF and rs.EOF then
response.Write("No hi ha
resultats")
else
%>
<table border="1" align="center">
<%
if pag="" then
rs.absolutepage=1
else
rs.absolutepage=pag
end if
response.write ("Pàgina " & pag
& " de " & rs.pagecount & "<br>")
i=0
while i<rs.pagesize and
rs.eof<>true
response.write("<tr><td>")
response.Write(rs
("nom_vi"))
response.write("</td><td>")
response.Write(rs("tipus"))
response.write("</td><td>")
response.Write(rs
("anyada"))
response.write
("</td></tr>")
rs.MoveNext
i=i+1
Wend
response.write ("<br>")
if pag <> 0 then
response.write ("<a
href='Resultats.asp?pag=" & pag-1 & "'>Anterior</a>")
end if
for i=1 to rs.pagecount
response.write ("<a
href='Resultats.asp?pag=" & i & "'>" & i & "</a>")
next
if pag <> rs.pagecount then
response.write ("<a
href='Resultats.asp?pag=" & pag+1 & "'>Següent</a>")
end if
end if
rs.close
cn.close
set cn=nothing
response.Write("</table>")

Muchas gracias a todos. Adios
 

Leer las respuestas

#1 Franco Figún
25/05/2004 - 17:58 | Informe spam
Usa este ejemplo, y dime si te da el mismo error:

<%
Dim mostrar,cant_paginas ,pagina_actual, page
Dim objConn, objRS, strProvider, SQL

mostrar = 10
CadenaConn ="tu cadena de conexion"
Set objConn = Server.CreateObject("ADODB.Connection")
Set objRS = Server.CreateObject("ADODB.Recordset")
objConn.Open CadenaConn

If page = "" Then
page=1
pagina_actual = 1
Else
pagina_actual = CInt(page)
page=pagina_actual
End If
SQL = "tu SQL"

ObjConn.CursorLocation = 2
ObjRS.PageSize = mostrar
ObjRS.CacheSize = mostrar
ObjRS.Open SQL, ObjConn, 3,1
cant_paginas = ObjRS.PageCount
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1
If cant_paginas <> 0 Then
ObjRS.AbsolutePage = pagina_actual


objRS.Close
objConn.Close
If pagina_actual > 1 Then %>
%>
<html>
<body>
<input type="submit" name="ir" value="Anterior">
<%
End If
If pagina_actual < cant_paginas Then
%>
<input type="submit" name="ir" value="Proximo">
<% End If %>
</body></html>


FF
www.francofigun.com.ar
www.microsofties.com.ar
MSN:
UIN: 305336919
Yahoo MSN:
"Zurki" wrote in message
news:11cde01c4422c$131f2920$
Hola a todos

Estoy realizando una pàgina en ASP, donde visualizaré los
resultados de una consulta realizada sobre MSSQL2000. Para
realizar la paginación, utilizo las propiedades del
recordset: pagesize, pagecount, absolutepage, ... Y parece
que esto no me funciona bién porque me muestra el
siguiente error:

ADODB.Recordset error '800a0cb3'
El recordset actual no admite marcadores. Puede deberse a
una limitación del proveedor o del tipo de cursor
seleccionado.

El error se refiere a la línia donde miro de assignar un
número a la propiedad del recordset AbsolutePage. Aquí os
adjunto parte del codigo:

Dim strSQL
Set Cn = Server.CreateObject("ADODB.Connection")
Set Rs = Server.CreateObject("ADODB.Recordset")
Set RsCategoria = Server.CreateObject
("ADODB.Recordset")
Cn.ConnectionString
= "DSN=Vins_i_Caves;UID=usuari"
Cn.Open
strSQL = "Exec CnsViWeb '" & Nom & "','" &
categoria & "','" & dori & "','" & celler & "','" & ciutat
& "','" & provincia & "'"
pag=request.querystring("pag")
rs.Open strSQL, Cn, 1, 3
rs.pagesize
if rs.BOF and rs.EOF then
response.Write("No hi ha
resultats")
else
%>
<table border="1" align="center">
<%
if pag="" then
rs.absolutepage=1
else
rs.absolutepage=pag
end if
response.write ("Pàgina " & pag
& " de " & rs.pagecount & "<br>")
i=0
while i<rs.pagesize and
rs.eof<>true
response.write("<tr><td>")
response.Write(rs
("nom_vi"))
response.write("</td><td>")
response.Write(rs("tipus"))
response.write("</td><td>")
response.Write(rs
("anyada"))
response.write
("</td></tr>")
rs.MoveNext
i=i+1
Wend
response.write ("<br>")
if pag <> 0 then
response.write ("<a
href='Resultats.asp?pag=" & pag-1 & "'>Anterior</a>")
end if
for i=1 to rs.pagecount
response.write ("<a
href='Resultats.asp?pag=" & i & "'>" & i & "</a>")
next
if pag <> rs.pagecount then
response.write ("<a
href='Resultats.asp?pag=" & pag+1 & "'>Següent</a>")
end if
end if
rs.close
cn.close
set cn=nothing
response.Write("</table>")

Muchas gracias a todos. Adios

Preguntas similares