Error Type:
ADODB.Recordset (0x800A0CB3)
Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.
sidan.asp, line 62
Det är alltså "RS.AbsolutePage = IntSida" som framkallar detta felmeddelande. Är det någon som vet varför, kör MySQL nu och det funkade fin fint innan med Access97...
<%
' ##Kollar vilken sida som skall visas, om tomt visas sida 1:
IntSida = Trim(Request.QueryString("page"))
If IntSida = "" Then
IntSida = 1
Else
IntSida = Cint(IntSida) ' ##Gör om det till ett tal
End If
'##här tar jag reda på vilket userid som personen har.
UID=session("userid")
if UID = "" then
MYMESSAGE = Server.URLEncode("You must be logged in to view this page.<p>Please wait...")
Response.Redirect ("delay.asp?DELAY_TIME=2&DELAY_MESSAGE=" & MYMESSAGE & "&REDIRECT_URL=default.asp")
end if
set connection = Server.CreateObject("ADODB.Connection")
Connection.Open "databaskopplingen"
set rs = connection.execute("select count(*) from internpost WHERE internpost.mottagare="&UID&"")
antalmedlemmar = rs(0)
stm = "Select Users.ID as Userid, Users.Nick, Internpost.ID, Internpost.Datum, Internpost.Mottagare,
Internpost.Rubrik, Internpost.Avsandare, Internpost.Last FROM Internpost INNER JOIN Users ON Users.ID = Internpost.Avsandare WHERE
Internpost.Mottagare="&UID&" ORDER BY Internpost.Datum desc LIMIT 100"
set rs = connection.execute(stm)
if rs.eof then%>
<tr bgcolor="#FFFFFF">
<td height="14" colspan="5"><div align="center">
<%
response.write ("Your inbox is empty.")%>
</div></td>
</tr>
</table>
<%else
RS.PageSize = 30
' ##Visar önskad sida
[B]RS.AbsolutePage = IntSida[/B]
count = 0
Do until RS.EOF OR IntAntal+1 > RS.PageSize
'##Räknare***
IntAntal = IntAntal + 1
'##Byter bakgrundsfärg i tabellen
count2 = count2 + 1
If count2 Mod 2 = 0 then
color = "#9AACBE"
else
color = "#BDC9D5"
End If
%>
<tr>
<td align="center" bgcolor="<%=color%>">
<%if NOT rs("last")=0 then%> <img src="images/mail_read.gif" width="11" height="12">
<%else%><img src="images/mail_unread.gif" width="11" height="12">
<%end if%>
</td>
<td bgcolor="<%=color%>">_<a href="info.asp?UID=<%=rs("avsandare")%>"><%=Rs("nick")%></a></td>
<td bgcolor="<%=color%>">_<b><a href="visapost.asp?PID=<%=rs("ID")%>"><%=Rs("rubrik")%></a></b></td>
<td align="center" bgcolor="<%=color%>"><%=Rs("datum")%></td>
<td align="center" bgcolor="<%=color%>"><a href="deletemessage.asp?PID=<%=rs("ID")%>">
<img src="images/icon_trashcan.gif" width="12" height="12" border="0" alt="Delete message"></a></td>
</tr>
<%
rs.movenext
loop%>
</table>
<p>
<%
'##Visa sidlänkar
If RS.PageCount > 1 Then '##Kollar så det finns fler sidor
Response.Write("Go to page ")
For I = 1 To RS.PageCount '##Startar en loop som ska fixa alla sidnummer
If I <> IntSida Then '##Kollar så att vi ej länkar aktuellt sidnummer
Response.Write("<A href='inbox.asp?page=" & I & "'>" & I & "</A> ")
Else '##Om det är sidan som är aktiv, gör ingen länk.
Response.Write(I & " ")
End If
next
end if
end if
rs.close
connection.close
set connection = nothing%>
<%
'##här tar jag reda på vilket userid som personen har.
UID=session("userid")
if UID = "" then
MYMESSAGE = Server.URLEncode("You must be logged in to view this page.<p>Please wait...")
Response.Redirect ("delay.asp?DELAY_TIME=2&DELAY_MESSAGE=" & MYMESSAGE & "&REDIRECT_URL=default.asp")
end if
set connection = Server.CreateObject("ADODB.Connection")
Connection.Open "databaskopplingen"
pagesize = 5
IntSida = Trim(Request.QueryString("page"))
If IntSida = "" Then
IntSida = 1
Else
IntSida = Cint(IntSida) ' ##Gör om det till ett tal
End If
q = "Select count(*) FROM Internpost INNER JOIN Users ON Users.ID = Internpost.Avsandare WHERE Internpost.Mottagare="&UID
set rs = connection.execute(q)
pages = (cdbl(rs(0))-1)/pagesize + 1
stm = "Select Users.ID as Userid, Users.Nick AS Nick, Internpost.ID, Internpost.Datum, Internpost.Mottagare, " & _
" Internpost.Rubrik, Internpost.Avsandare, Internpost.Last " &_
" FROM Internpost INNER JOIN Users " &_
" ON Users.ID = Internpost.Avsandare " &_
" WHERE Internpost.Mottagare="&UID&_
" ORDER BY Internpost.Datum desc " &_
" LIMIT " & offset & "," & pagesize
set rs = connection.execute(stm)
if rs.eof then%>
<tr bgcolor="#FFFFFF">
<td height="14" colspan="5"><div align="center">
<%
response.write ("Your inbox is empty.")%>
</div></td>
</tr>
</table>
<%else
count = 0
Do until RS.EOF
'##Räknare
IntAntal = IntAntal + 1
'##Byter bakgrundsfärg i tabellen
count2 = count2 + 1
If count2 Mod 2 = 0 then
color = "#9AACBE"
else
color = "#BDC9D5"
End If
%>
<tr>
<td align="center" bgcolor="<%=color%>">
<%if NOT rs("last")=0 then%> <img src="images/mail_read.gif" width="11" height="12">
<%else%><img src="images/mail_unread.gif" width="11" height="12">
<%end if%>
</td>
<td bgcolor="<%=color%>"> <a href="info.asp?UID=<%=rs("avsandare")%>"><%=Rs("nick")%></a></td>
<td bgcolor="<%=color%>"> <b><a href="visapost.asp?PID=<%=rs("ID")%>"><%=Rs("rubrik")%></a></b></td>
<td align="center" bgcolor="<%=color%>"><%=Rs("datum")%></td>
<td align="center" bgcolor="<%=color%>"><a href="tabortpost.asp?PID=<%=rs("ID")%>">
<img src="images/icon_trashcan.gif" width="12" height="12" border="0" alt="Ta bort meddelande"></a></td>
</tr>
<%rs.movenext
loop%>
</table>
<p>
<%
'##Visa sidlänkar:
If RS.PageCount > 1 Then '##kollar så det finns fler sidor
Response.Write("Go to page ")
For I = 1 To pages '##Startar en loop som ska fixa alla sidnummer
If I <> IntSida Then '##Kollar så att vi ej länkar aktuellt sidnummer
Response.Write("<A href='inbox.asp?page=" & I & "'>" & I & "</A> ")
Else '##Om det är sidan som är aktiv, gör ingen länk.
Response.Write(I & " ")
End If
next
end if
end if
rs.close
connection.close
set connection = nothing%>
Får då:
Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E09)
[TCX][MyODBC]You have an error in your SQL syntax near '5' at line 1
sidan.asp, line 55
Tar jag bort
& offset & ",
så visar den sidan, dock utan att page-a. Jag förstår inte riktigt vart du får värdet för offset ifrån?
Lade till
offset = 0
innan
pagesize = 5
och då funkar den, fast utan att page-a...
Testade nu att byta ut
If RS.PageCount > 1 Then '##kollar så det finns fler sidor
mot
If pages > 1 Then '##kollar så det finns fler sidor
fast jag får samma 5 resultat hela tiden...
Vad bör jag sätta offset till för att den ska hoppa till nästa fem poster?
Känns nästan som om det hade vart enklare att gör pagingen med asp istället för SQL, men man lär ju sig nått nytt iaf
Blev lite rörigt det här nu... hoppas du hänger med iaf i vad jag har gjort...