Meddelande

Minska
No announcement yet.

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

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

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

    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!

    Kod:
    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
    wF, bästa stället, lätt alltså...

  • #2
    För att PageSize mm. ska fungera så måste man använda adUseServer och adOpenDynamic. Testa det här:
    [kod]
    With Rs
    .Close
    .CursorLocation = 2 'adUseServer
    .CursorType = 2 'adOpenDynamic
    .Open
    .Pagesize = strRowCount -1
    End With
    [/kod]
    Mvh

    Kommentera


    • #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:

      Kod:
      <%
      '#############################################################################################
      '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
      
      '*********************************************************************************************
      %>
      wF, bästa stället, lätt alltså...

      Kommentera


      • #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!
        wF, bästa stället, lätt alltså...

        Kommentera


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

          Kommentera


          • #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!
            wF, bästa stället, lätt alltså...

            Kommentera


            • #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.
              Johnny

              wF-råd:
              - är ditt inlägg förståeligt?
              - korrekturläs ditt inlägg, redigera stavfel
              - kom ihåg att markera det inlägg som löste problemet

              Kommentera

              Working...
              X