Jag får följande fel:
ADODB.Recordset error '800a0cb3'
Object or provider is not capable of performing requested operation.
/en/user_guestbook.asp, line 59
på den raden finns
objRS.AbsolutePage = intPage
nån som vet vad som kan va fel?
Använder MySQL!
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "absolut"
eSQL="Select * From Users Where UserID="& Request.QueryString("show_user")
Set user=Conn.Execute(eSQL)
rSQL="Select * From User_Info Where Info_Bel="& user("UserID")
Set info=Conn.Execute(rSQL)
%>
html...
<%
intPageSize = 10
intPage = Request.QueryString("page")
If intPage = "" Then intPage = 1
strSQL = "SELECT * FROM Guestbook Where Gbook_Bel="& Cint(Request.QueryString("show_user")) &" ORDER BY Gbook_Date DESC"
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, Conn, 3, 1
objRS.PageSize = intPageSize
objRS.AbsolutePage = intPage
intTotalPages = objRS.PageCount
If objRS.EOF Then
If Right(user("Username"),1)="s" Then
Response.Write user("Username") &" guestbook is empty!"
Else
Response.Write user("Username") &"'s guestbook is empty!"
End If
Else
Do Until objRS.EOF or intRecordCount >= intPageSize
intRecordCount = intRecordCount + 1
wSQL="Select * From Users Where UserID="& objRS("Gbook_Signer")
Set us=Conn.Execute(wSQL)
qSQL="Select * From User_Info Where Info_Bel="& user("UserID")
Set inh=Conn.Execute(qSQL)
%>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td rowspan="2" width="60"> </td>
<td><a href="user_info.asp?show_user=<%=us("UserID")%>"><%=us("Username")%></a></td>
</tr>
<tr>
<td><%=Replace(Server.HTMLEncode(objRS("Gbook_Text")), vbcrlf, "<br>")%></td>
</tr>
</table>
<%
inh.Close
Set inh=Nothing
us.Close
Set us=Nothing
objRS.MoveNext
Loop
End If
objRS.Close
Set objRS = Nothing
'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)
Hej, jag använder det paging scriptet tillsamans med mysql, och det funkar höjdens.
Jag känner inte igen så många rader i din kod som härstammar från orginalscriptet. Så det är svårt att hjälpa dig. Vet ju inte hur allt annat ser ut heller.
red: visste inte att han gjort 2 versioner, jag använder den andre. Det var någ därför jag inte kände igen det
Var hittade du den Do loopen?
Jag har däremot lagt in annan kod för hämtning av data i andra tabeller! Tog även bort alla kommentarer! Och inkluderade inte subben här!
Vilket fall som helst gjorde jag om allt och la in orginal koden och ändrade ytterst lite
<%
Option Explicit
Dim objConn
Dim strConnString
Dim strSQL
Dim objRS
Dim strName
Dim strComment
Dim dteDate
Dim intPageSize
Dim intPage
Dim intTotalPages
Dim intRecordCount
'## -- connection string, vilken provider och db ska användas --
strConnString = "absolut"
'## -- hur många inlägg ska visas per sida --
intPageSize = 10
'## -- vilken sida ska visas --
intPage = Request.QueryString("page")
'## -- om ingen querystring med sidvärde hittas, visa då första sidan --
If intPage = "" Then intPage = 1
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open strConnString
strSQL = "SELECT * FROM Guestbook Where Gbook_Bel="& Cint(Request.QueryString("show_user")) &" ORDER BY Gbook_Date DESC"
'## -- skapa ett recordset --
Set objRS = Server.CreateObject("ADODB.Recordset")
'## -- hur många poster ska visas per sida --
objRS.PageSize = intPageSize
'## -- öppna och hämta alla records --
objRS.Open strSQL, objConn, 3, 1
'## -- vilken sida i recordset uppdelningen ska visas --
objRS.AbsolutePage = intPage
'## -- hur många sidor finns i recordset uppdelningen --
intTotalPages = objRS.PageCount
If objRS.EOF Then
Response.Write "Det finns inga inlägg."
Else
'## -- lista alla inlägg som finns i db --
Do Until objRS.EOF or intRecordCount >= intPageSize
intRecordCount = intRecordCount + 1
strName = objRS(1)
strComment = objRS(2)
dteDate = objRS(3)
Response.Write "<B>Namn:</B> " & strName & "<BR>" & _
"<B>Datum:</B> " & dteDate & "<BR>" & _
"<B>Kommentar:</B><BR>" & _
strComment & _
"<HR size=""1"" noshade>"
objRS.MoveNext
Loop
End If
'## -- clean up --
objRS.Close
Set objRS = Nothing
objConn.Close
Set objConn = Nothing
'## -- visa sidnavigeringen --
'## -- intPage = vilken sida som ska visas --
'## -- intTotalPages = hur många sidor som recordsetet är uppdelat i --
Call PageNavigation(intPage, intTotalPages)
%>
</BODY>
</HTML>
<%
'## -- skapa sid-navigering --
Sub PageNavigation(ByVal WichPage, ByVal HowManyPages)
Dim strScriptName
Dim I
'## -- vilken sida ska navigeringen länka till --
strScriptName = Request.ServerVariables("SCRIPT_NAME")
'## -- visa föregående, länkat eller olänkat beroende på vilken sida som visas --
If CInt(WichPage) > 1 Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & WichPage - 1 & "'><< Föregående</A> "
Else
Response.Write "<< Föregående "
End If
'## -- lista ut alla sidnummer --
For I = 1 To HowManyPages
If CInt(WichPage) <> I Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & I & "'>" & I & "</A> "
Else
Response.Write "[ <B>" & I & "</B> ] "
End If
Next
'## -- visa Nästa, länkad eller olänkad beroende på vilken sida som visas --
If CInt(WichPage) < CInt(HowManyPages) Then
Response.Write "<A href='" & strScriptName & "?" & _
"page=" & WichPage + 1 & "'>Nästa >>"
Else
Response.Write "Nästa >>"
End If
End Sub
%>
Nu får jag:
ADODB.Recordset error '800a0cb3'
Object or provider is not capable of performing requested operation.
/en/user_guestbook.asp, line 47
vilket är:
objRS.AbsolutePage = intPage
Jag har använt koden flera gånger innan och då har den alltid fungerat, men då har jag använt Access 2000 eller SQL server, nu är det MySQL!