webForumDet fria alternativet

Hjälp med ADODB.Recordset error '800a0cb3'

ASP

6 svar · 2 708 visningar · startad av richi_f

Medlem sedan apr. 2004206 inlägg
Frågan#1

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
Medlem sedan mars 20041 505 inlägg
#2

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

Medlem sedan apr. 2004206 inlägg
#3

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%">&nbsp;</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

'*********************************************************************************************
%>
Medlem sedan apr. 2004206 inlägg
#4

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!

Medlem sedan mars 20041 505 inlägg
#5

Skriv gärna vilket radnummer felet uppstår på och peka ut den raden, så kan jag hjälpa dig :)

Medlem sedan apr. 2004206 inlägg
#6

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!

Medlem sedan apr. 20031 660 inlägg
#7

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.

266 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)