Buonasera Forum sono alle prese con lo script che segue
https://www.mrw.it/asp/paginazione-risultati-query-grandi-dimensioni_6803.html
che desidero implementare nella mia pagina web.
Le ho tentate tutte, ma non riesco a risolvere questo errore:
ADODB.Recordset error '800a0cb3'
Il set di record corrente non supporta i segnalibri. Potrebbe trattarsi di una limitazione del provider o del tipo di cursore selezionato.
/ricerca/search.asp, riga 119
Questo il codice che utilizzo per la connessione:
<%
'Dim MM_ecommerce_STRING
MM_ecommerce_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/shop/E-commerce.mdb")
%>
Questoil codice della pagina:
<%'@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/ecommerce.asp" -->
<%
' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
Dim MM_ecommerce_STRING, cn, quanti, pag, contatore ' sc = MM_ecommerce_STRING | rs = prodricer
' DEFINISCO LA STRINGA DI CONNESSIONE
' sc = ""
' sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
' sc = sc & Server.MapPath("database.mdb")
Dim prodricer
Dim prodricer_numRows
' IMPOSTO LA CONNESSIONE EDIL RECORDSET
Set cn = Server.CreateObject("ADODB.Connection")
Set prodricer = Server.CreateObject("ADODB.Recordset")
' APRO LA CONNESSIONE COL DATABASE
cn.Open MM_ecommerce_STRING
' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
quanti = 5
' RECUPERO IL NUMERO DI PAGINA CORRENTE
' E CONTROLLO CHE NON SIA INFERIORE A 1
pag = Request.QueryString ("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1
' IMPOSTO UN CONTATORE
contatore = 0
Set prodricer = Server.CreateObject("ADODB.Recordset")
prodricer.ActiveConnection = MM_ecommerce_STRING
prodricer.Source = "SELECT * FROM Prodotti WHERE "&Request.QueryString("campo")&" LIKE '%" + Request.QueryString("cosa") + "%'"
prodricer.CursorType = 0
prodricer.CursorLocation = 2
prodricer.LockType = 1
prodricer.Open()
prodricer_numRows = 0
%>
<%
'Dim Repeat1__numRows
Dim Repeat1__index
Repeat1__numRows = -1
Repeat1__index = 0
prodricer_numRows = prodricer_numRows + Repeat1__numRows
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>E-commerce - Daviduccio.it</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../CSS/style.css" rel="stylesheet" type="text/css">
<script language="javascript">
function svuota() {
document.form1.cosa.value="";
}
</script>
</head>
<body>
<div align="center" class="Stile1">
<table width="560" border="0">
<tr>
<td height="19" bgcolor="#efefef"><div align="right" class="Stile3"><strong>Pagina di ricerca </strong></div></td>
</tr>
<tr>
<td><p> </p>
<form name="form1" method="get" action="">
<table border="0" class="Stile3">
<tr>
<td>Cerca:</td>
<td><input name="cosa" type="text" class="Stile3" id="cosa" onFocus="svuota()" value="<%=Request.QueryString("cosa")%>" size="30"></td>
<td><select name="campo" class="Stile3" id="campo">
<option value="Nome" <%If (Not isNull(Request.QueryString("campo"))) Then If ("Nome" = CStr(Request.QueryString("campo"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nel Nome</option>
<option value="Descrizione" <%If (Not isNull(Request.QueryString("campo"))) Then If ("Descrizione" = CStr(Request.QueryString("campo"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nella Descrizione</option>
<option value="Marca" <%If (Not isNull(Request.QueryString("campo"))) Then If ("Marca" = CStr(Request.QueryString("campo"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nella Marca</option>
<option value="Classe" <%If (Not isNull(Request.QueryString("campo"))) Then If ("Classe" = CStr(Request.QueryString("campo"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nella Categoria</option>
</select></td>
<td><input name="Submit" type="submit" class="Stile3" value="Cerca"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form> </td>
</tr>
</table>
<% If Not prodricer.EOF Or Not prodricer.BOF Then %>
<table width="575" border="0" class="Stile3">
<tr bgcolor="#CCCCCC">
<td>Nome</td>
<td width="350">Descrizione</td>
<td> </td>
<td>Prezzo</td>
</tr>
<tr>
<td> </td>
<td width="350"> </td>
<td> </td>
<td> </td>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT prodricer.EOF))
%>
<%
' EFFETTUO MATERIALMENTE LA PAGINAZIONE
prodricer.PageSize = quanti
prodricer.AbsolutePage = pag
' ESEGUO IL CICLO
While prodricer.EOF = False And contatore < quanti
%>
<tr bgcolor="<%
If (Repeat1__numRows Mod 2) Then
Response.Write("#E0DFE3")
Else
Response.Write("#FFFFFF")
End IF
%>">
<td><div align="left"><a href="../Lista/default.asp?IDpr=<%=(prodricer.Fields.Item("ID").Value)%>&fcampo=Marca&fcosa=<%=(prodricer.Fields.Item("Marca").Value)%>&cosa=<%=Request.QueryString("cosa")%>&campo=<%=Request.QueryString("campo")%>"><strong><%=(prodricer.Fields.Item("Nome").Value)%></strong></a></div></td>
<td width="350"><div align="left"><%=mid((prodricer.Fields.Item("Descrizione").Value),1,50)%></div></td>
<td><%=(prodricer.Fields.Item("Marca"))%></td>
<td><div align="left"><%=formatcurrency((prodricer.Fields.Item("Prezzo").Value))%></div></td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
prodricer.MoveNext()
Wend
%>
</table><%
prodricer.MoveNext
' INCREMENTO IL VALORE DEL CONTATORE
contatore = contatore + 1
Wend
%>
<% End If ' end Not prodricer.EOF Or NOT prodricer.BOF %>
</div>
</body>
</html>
<%
prodricer.Close()
Set prodricer = Nothing
%>
<%
' UN PO DI PULIZIA...
' rs.Close
' Set rs = Nothing
cn.Close
Set cn = Nothing
%>
<p align="center">
<%If pag > 1 Then%>
<a href="test.asp?pag=<%=pag-1%>">Indietro</a>
<%End If%>
<%
Dim x
x = 1
For x = 1 To prodricer.PageCount
If CInt(pag) <> x Then
%>
[<a href="test.asp?pag=<%=x%>"><%=x%></a>]
<%
Else
%>
[<a href="test.asp?pag=<%=x%>"><b><%=x%></b></a>]
<%
End If
Next
%>
<%If prodricer.EOF = False Then%>
<a href="test.asp?pag=<%=pag+1%>">Avanti</a>
<%End If%>
</p>
Confido nel vostro aiuto, l'errore è quì:
prodricer.AbsolutePage = pag
grazie.
ps lo script dell'ecomemerce è sempre su questo sito: DAVIDUCCIO ECOMMERCE
https://www.mrw.it/asp/paginazione-risultati-query-grandi-dimensioni_6803.html
che desidero implementare nella mia pagina web.
Le ho tentate tutte, ma non riesco a risolvere questo errore:
ADODB.Recordset error '800a0cb3'
Il set di record corrente non supporta i segnalibri. Potrebbe trattarsi di una limitazione del provider o del tipo di cursore selezionato.
/ricerca/search.asp, riga 119
Questo il codice che utilizzo per la connessione:
<%
'Dim MM_ecommerce_STRING
MM_ecommerce_STRING = "Driver={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/mdb-database/shop/E-commerce.mdb")
%>
Questoil codice della pagina:
<%'@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include file="Connections/ecommerce.asp" -->
<%
' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
Dim MM_ecommerce_STRING, cn, quanti, pag, contatore ' sc = MM_ecommerce_STRING | rs = prodricer
' DEFINISCO LA STRINGA DI CONNESSIONE
' sc = ""
' sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
' sc = sc & Server.MapPath("database.mdb")
Dim prodricer
Dim prodricer_numRows
' IMPOSTO LA CONNESSIONE EDIL RECORDSET
Set cn = Server.CreateObject("ADODB.Connection")
Set prodricer = Server.CreateObject("ADODB.Recordset")
' APRO LA CONNESSIONE COL DATABASE
cn.Open MM_ecommerce_STRING
' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
quanti = 5
' RECUPERO IL NUMERO DI PAGINA CORRENTE
' E CONTROLLO CHE NON SIA INFERIORE A 1
pag = Request.QueryString ("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1
' IMPOSTO UN CONTATORE
contatore = 0
Set prodricer = Server.CreateObject("ADODB.Recordset")
prodricer.ActiveConnection = MM_ecommerce_STRING
prodricer.Source = "SELECT * FROM Prodotti WHERE "&Request.QueryString("campo")&" LIKE '%" + Request.QueryString("cosa") + "%'"
prodricer.CursorType = 0
prodricer.CursorLocation = 2
prodricer.LockType = 1
prodricer.Open()
prodricer_numRows = 0
%>
<%
'Dim Repeat1__numRows
Dim Repeat1__index
Repeat1__numRows = -1
Repeat1__index = 0
prodricer_numRows = prodricer_numRows + Repeat1__numRows
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>E-commerce - Daviduccio.it</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../CSS/style.css" rel="stylesheet" type="text/css">
<script language="javascript">
function svuota() {
document.form1.cosa.value="";
}
</script>
</head>
<body>
<div align="center" class="Stile1">
<table width="560" border="0">
<tr>
<td height="19" bgcolor="#efefef"><div align="right" class="Stile3"><strong>Pagina di ricerca </strong></div></td>
</tr>
<tr>
<td><p> </p>
<form name="form1" method="get" action="">
<table border="0" class="Stile3">
<tr>
<td>Cerca:</td>
<td><input name="cosa" type="text" class="Stile3" id="cosa" onFocus="svuota()" value="<%=Request.QueryString("cosa")%>" size="30"></td>
<td><select name="campo" class="Stile3" id="campo">
<option value="Nome" <%If (Not isNull(Request.QueryString("campo"))) Then If ("Nome" = CStr(Request.QueryString("campo"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nel Nome</option>
<option value="Descrizione" <%If (Not isNull(Request.QueryString("campo"))) Then If ("Descrizione" = CStr(Request.QueryString("campo"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nella Descrizione</option>
<option value="Marca" <%If (Not isNull(Request.QueryString("campo"))) Then If ("Marca" = CStr(Request.QueryString("campo"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nella Marca</option>
<option value="Classe" <%If (Not isNull(Request.QueryString("campo"))) Then If ("Classe" = CStr(Request.QueryString("campo"))) Then Response.Write("SELECTED") : Response.Write("")%>>Nella Categoria</option>
</select></td>
<td><input name="Submit" type="submit" class="Stile3" value="Cerca"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</table>
</form> </td>
</tr>
</table>
<% If Not prodricer.EOF Or Not prodricer.BOF Then %>
<table width="575" border="0" class="Stile3">
<tr bgcolor="#CCCCCC">
<td>Nome</td>
<td width="350">Descrizione</td>
<td> </td>
<td>Prezzo</td>
</tr>
<tr>
<td> </td>
<td width="350"> </td>
<td> </td>
<td> </td>
</tr>
<%
While ((Repeat1__numRows <> 0) AND (NOT prodricer.EOF))
%>
<%
' EFFETTUO MATERIALMENTE LA PAGINAZIONE
prodricer.PageSize = quanti
prodricer.AbsolutePage = pag
' ESEGUO IL CICLO
While prodricer.EOF = False And contatore < quanti
%>
<tr bgcolor="<%
If (Repeat1__numRows Mod 2) Then
Response.Write("#E0DFE3")
Else
Response.Write("#FFFFFF")
End IF
%>">
<td><div align="left"><a href="../Lista/default.asp?IDpr=<%=(prodricer.Fields.Item("ID").Value)%>&fcampo=Marca&fcosa=<%=(prodricer.Fields.Item("Marca").Value)%>&cosa=<%=Request.QueryString("cosa")%>&campo=<%=Request.QueryString("campo")%>"><strong><%=(prodricer.Fields.Item("Nome").Value)%></strong></a></div></td>
<td width="350"><div align="left"><%=mid((prodricer.Fields.Item("Descrizione").Value),1,50)%></div></td>
<td><%=(prodricer.Fields.Item("Marca"))%></td>
<td><div align="left"><%=formatcurrency((prodricer.Fields.Item("Prezzo").Value))%></div></td>
</tr>
<%
Repeat1__index=Repeat1__index+1
Repeat1__numRows=Repeat1__numRows-1
prodricer.MoveNext()
Wend
%>
</table><%
prodricer.MoveNext
' INCREMENTO IL VALORE DEL CONTATORE
contatore = contatore + 1
Wend
%>
<% End If ' end Not prodricer.EOF Or NOT prodricer.BOF %>
</div>
</body>
</html>
<%
prodricer.Close()
Set prodricer = Nothing
%>
<%
' UN PO DI PULIZIA...
' rs.Close
' Set rs = Nothing
cn.Close
Set cn = Nothing
%>
<p align="center">
<%If pag > 1 Then%>
<a href="test.asp?pag=<%=pag-1%>">Indietro</a>
<%End If%>
<%
Dim x
x = 1
For x = 1 To prodricer.PageCount
If CInt(pag) <> x Then
%>
[<a href="test.asp?pag=<%=x%>"><%=x%></a>]
<%
Else
%>
[<a href="test.asp?pag=<%=x%>"><b><%=x%></b></a>]
<%
End If
Next
%>
<%If prodricer.EOF = False Then%>
<a href="test.asp?pag=<%=pag+1%>">Avanti</a>
<%End If%>
</p>
Confido nel vostro aiuto, l'errore è quì:
prodricer.AbsolutePage = pag
grazie.
ps lo script dell'ecomemerce è sempre su questo sito: DAVIDUCCIO ECOMMERCE