hej... Testa att sätt Cursor location till client. paging fel
Jag tog upp problemet i nybörjaravdelningen, men det är kanske här det är det rätta stället. Jag hittade paging koden här på pellesoft, men får ett, för mig, konstigt fel.
Här e min kod.
<code>
<%
Dim rs, cn, strSQL,nyhetsid
nyhetsid = request.querystring ("id")
const adOpenStatic=3, adLockOptimistic=3, adUseClient = 3
iPageSize = 15
If Request.Querystring("page") = "" Then
iPageCurrent = 1
Else
iPageCurrent = CInt(Request.QueryString("page"))
End If
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
rs.PageSize = iPageSize
rs.CacheSize = iPageSize
call connopen
StrSQL = "Select rubrik, innehall, datum from nyheter order by id desc "
rs.Open strSQL,cn, adopenstatic, adLockOptimistic
iPageCount = rs.PageCount
If iPageCurrent > iPageCount Then
iPageCurrent = iPageCount
End If
%>
<%
response.write "<table width=""140px"" cellpadding=""0"" cellspacing=""0"">"
If iPageCount = 0 Then
response.write "<tr>"
response.write "<td>"
Response.Write "RecordSet är tomt!"
response.write "</td>"
response.write "</tr>"
Else
rs.AbsolutePage = iPageCurrent
iRecordsShown = 0
Do While iRecordsShown < iPageSize And Not rs.EOF
response.write "<tr>"
Response.Write "<td height=""14""><font class=""normal"">" & rs.Fields(2).Value & "</font></td>"
Response.Write "<td height=""14""><font class=""normal"">" & rs.Fields(0).Value & "</font></td>"
Response.Write "</tr>"
iRecordsShown = iRecordsShown + 1
rs.MoveNext
Loop
End If
rs.close
response.write "<tr>"
response.write "<td>"
For I = 1 To iPageCount
If I = iPageCurrent Then
Response.Write "<font color='#000000'>| <b>" & I & "</b> </font>"
Else
Response.Write "| " & I & " "
End If
Next
response.write "</td>"
response.write "</tr>"
response.write "</table>"
cn.close
set rs = Nothing
set cn = Nothing
%>
</code>
Och då får jag följande fel...
Error Type:
ADODB.Recordset (0x800A0BB9)
Arguments are of the wrong type, are out of acceptable range, or are in conflict with one another.
/av/avnyheter.asp, line 70
å rad 70 ser ut så här...
rs.AbsolutePage = iPageCurSv: paging fel
Dessutom borde du överväga sättet du öppnar din anslutning. Det är inte kapslat på ett bra sätt då din funktion anropar variabler deklarerade utaför din rutin connopen.Sv: paging fel
rs.CursorLocation = adUseClient
KAn vara att du försöker göra ett statisct recordset uppdaterbart.
Så testa att använda adLockReadOnly:
const adLockReadOnly = 1
rs.Open Command, adOpenStatic, adLockReadOnly