För att PageSize mm. ska fungera så måste man använda adUseServer och adOpenDynamic. Testa det här:
With Rs
.Close
.CursorLocation = 2 'adUseServer
.CursorType = 2 'adOpenDynamic
.Open
.Pagesize = strRowCount -1
End With
Mvh
6 svar · 2 708 visningar · startad av richi_f
Hej!
Har migrerat en gästbok ifrån access till MySQL och får följande fel:
ADODB.Recordset error '800a0cb3'
Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.
/files/default_gb.asp, line 200
Jag har förstått att det är problem med paging när man byter från access men kan inte lösa det själv så jag är oerhört tacksam för hjälp!
Set Rs = Cn.Execute("SELECT * FROM gossip ORDER BY date DESC")
If Rs.EOF Then %>
<table width="100%" class="box">
<tr>
<td height="20" align="center"><b>Det finns ingen som skrivit i gästboken</b></td>
</tr>
</table>
<% Else
With Rs
.Close
.Cursortype = 3
.Open
.Pagesize = strRowCount -1
End With
Rs.AbsolutePage = nextPage <<RAD 200 tror jag!
Do until Rs.EOF OR rowCount > Rs.PageSize
rowCount = rowCount + 1
If Rs("hide") = "1" then Rs.movenext
För att PageSize mm. ska fungera så måste man använda adUseServer och adOpenDynamic. Testa det här:
With Rs
.Close
.CursorLocation = 2 'adUseServer
.CursorType = 2 'adOpenDynamic
.Open
.Pagesize = strRowCount -1
End With
Mvh
Hej!
Tack för ditt svar!
Jag får samma fel fortfarande!
Jag skickar med hela koden så kanske det är lättare att se vad som felar för er proffs:
<%
'#############################################################################################
'PAGE SETTING
strThisPageUrl = "default_gb.asp"
strPageName =":: gästbok ::"
'#############################################################################################
'RÄKNAR UT VILKET SIDNUMMER SIDAN SKALL HA
nextPage = TRIM(Request("nextPage"))
IF nextPage = "" THEN nextPage = 1
'#############################################################################################
'DATABAS KOPPLING
Set Cn = Server.Createobject("ADODB.Connection")
strDbMySQL
'#############################################################################################
'TAR UPP ANTAL POSTER PER SIDA
If Request.Querystring("nrPost") <> "" then
strRowCount = Request.Querystring("nrPost")
Else
strRowCount = 10
End If
'#############################################################################################
'HÄMTAR POSTERNA FRÅN DATABASEN
Set RsNUMBER = cn.Execute("SELECT COUNT(*) FROM gossip")
'RÄKNAR HUR MÅNGA POSTER SOM FINNS
strNUMBERCount = RsNUMBER.Fields(0)
'TALAR OM VAD ADRESSEN PÅ SIDAN ÄR
strWhereOnPage = strThisPageUrl & "?nextPage=" & nextPage
'#############################################################################################%>
<body>
............................
<%'###########################################################################################
'VISAR DATA OM SIDAN MAN BEFINNER SIG PÅ %>
<table width="100%" class="box">
<tr><td>Det finns <b><%=strNUMBERCount%></b> inlägg, <b><%=str_url%></b>
du är på sidan <b><%=nextPage%></b> och visar <b><%=strRowCount%></b>
poster per sida.
</td>
<td align="right">
<% If Session("administration") & "" = "" then %>
<a title='' href='javascript:PopWin("admin.asp",153,240);'><img border="0" title="Logga in admin" src="gfx/unlock.gif"></a>
<% Else %>
<a title='' href='<%=strThisPageUrl%>?do=logout'><img border="0" title="Logga ut admin" src="gfx/unlocked.gif"></a>
<% End If
If Request.Querystring("do") = "logout" then
Session.Abandon
Response.Redirect strThisPageUrl
End If
%>
</td>
</tr>
</table>
<br>
<%'###########################################################################################
'HUVUDTABELL FÖR SIDAN %>
<table width="100%">
<tr>
<td width="78%" valign="top">
<%'###########################################################################################
'PLOCKAR UPP ANTAL POSTER PER SIDA
Set Rs = Cn.Execute("SELECT * FROM gossip ORDER BY date DESC")
If Rs.EOF Then %>
<table width="100%" class="box">
<tr>
<td height="20" align="center"><b>Det finns ingen som skrivit i gästboken</b></td>
</tr>
</table>
<% Else
With Rs
.Close
.CursorLocation = 2 'adUseServer
.CursorType = 2 'adOpenDynamic
.Open
.Pagesize = strRowCount -1
End With
Rs.AbsolutePage = nextPage
Do until Rs.EOF OR rowCount > Rs.PageSize
rowCount = rowCount + 1
If Rs("hide") = "1" then Rs.movenext
.....................
%>
<%
Rs.MoveNext
Loop
%>
<%'###########################################################################################
'KLICKA FÖR SIDNUMMER MAN VILL KOMMA TILL (UNDER POSTERNA) %>
<table width="100%" class="box">
<td>Sida :
<%
If Rs.PageCount > 1 Then
Response.Write "<hr noshade size='1'>"
For pageNr = 1 to Rs.PageCount
If pageNr <> cINT(nextPage) Then
Response.Write " <a href='"& strThisPageUrl &"?nextPage="& pageNr &"&nrPost="& strRowCount &"'>"& pageNr &"</a> "
Else
Response.Write "[ " & pageNr & " ]"
End If
Next
End If
%>
</td>
</table>
<% End If %>
<%'###########################################################################################
'ÖVER TILL ANDRA SIDAN PÅ TABLE %>
</td>
<td width="4%"> </td>
<td width="18%" valign="top">
<%'###########################################################################################
'VÄLJ ANTAL POSTER PER SIDA %>
<table width="100%" class="box">
<tr>
<td>
<form name="formsite">Poster per sida :
<select name="site" size=1 onChange="javascript:formHandler()">
<OPTION VALUE='#'>Välj</OPTION>
<OPTION VALUE='<%=strWhereOnPage%>&nrPost=5'>5</OPTION>
<OPTION VALUE='<%=strWhereOnPage%>&nrPost=10'>10</OPTION>
<OPTION VALUE='<%=strWhereOnPage%>&nrPost=20'>20</OPTION>
<OPTION VALUE='<%=strWhereOnPage%>&nrPost=30'>30</OPTION>
<OPTION VALUE='<%=strWhereOnPage%>&nrPost=40'>40</OPTION>
<OPTION VALUE='<%=strWhereOnPage%>&nrPost=50'>50</OPTION>
<OPTION VALUE='<%=strWhereOnPage%>&nrPost=100'>100</OPTION>
</select>
</form>
</td>
</tr>
</table>
<br>
<%'###########################################################################################
'KLICKA FÖR SIDNUMMER MAN VILL KOMMA TILL (BREDVID POSTERNA) %>
<%'###########################################################################################
'LÄNKEN FORM FÖR SKICKA IN %>
<form method="post" name="guestbook" action="<%=strThisPageUrl%>?do=add&nrPost=<%=strRowCount%>" onSubmit='return guestbooksubmit();'>
<%'###########################################################################################
'RUTA FÖR ATT SKRIVA IN TILL POSTERNA %>
************************************
'TA BORT POSTEN TOTALT
If Request.Querystring ("do") = "delete" Then
cn.Execute("DELETE FROM gossip WHERE ID = "& Request.QueryString("delId") &"")
Response.Redirect strThisPageUrl & "?nextPage=" & Request.QueryString("page") & "&nrPost=" & Request.QueryString("nrPost")
End If
'*********************************************************************************************
'LÄGG TILL POST
If request.form("kontroll") = "1" and Request.Querystring ("do") = "add" Then
If request.form("webpage") = "http://" then
strWebPage = ""
Else
strWebPage = request.form("webpage")
End If
strChangeMess = request.form("mess")
changeBadWord strChangeMess
Dim from_name, from_email, webpage, mess, date
Cn.Execute("INSERT INTO gossip([from_name],[from_email],[webpage],[mess],[date]) " &_
"Values('"& request.form("from_name") &"', '"& request.form("from_email") &"', '"& strWebPage &"', " &_
"'"& strChangeMess &"', '"& now &"')")
Response.Redirect strWhereOnPage & "&nrPost=" & Request.QueryString("nrPost")
End If
'*********************************************************************************************
%>
Hej!
Jag skulle bli jättetacksam om någon vänlig själ skulle kunna tänka sig att hjälpa mig med ovanstående problem.
Tack på förhand!
Skriv gärna vilket radnummer felet uppstår på och peka ut den raden, så kan jag hjälpa dig :)
ADODB.Recordset error '800a0cb3'
Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.
/files/default_gb.asp, line 201
Här är felet!
Rad 201 är:
Rs.AbsolutePage = nextPage
Tacksam för hjälp!
HEJ!
Som skrivits innan, du har fel CursorType, '.Cursortype = 3'. Det är den som avgör hur, och om, du kan hoppa fram och tillbaka i recordsetet.
Vilken som är rätt? Vet ej, kör ej MySQL, och öppnar ej RS såhär, men prova byt siffra.
Läs också om AbsolutePage, där det står precis det som felet säger, du kan inte göra detta om inte hotellet tillåter. Kanske är så att det inte går göra det du vill? Webbhotellet bör ha råd om hur man kopplar till databaser.