04. juli 2000 - 22:23Der er
1 kommentar og 4 løsninger
Stort problem med RS.Absolutepage
Hej,
Jeg er igang med at lave en paging side hvor der max vises 25 resultater af en søgning pr side. Mit problem er nu at jeg aldrig kommer forbi linien: RS.AbsolutePage=intpage Problemet ligger i Absolutepage og jeg får denne fejlmeddelse: The operation requested by the application is not supported by the provider.
Håber nogen kan hjælpe for jeg er ved at blive VANVITTIG :o)
<html><head> <title>Paging af et recordset</title> </head><body> <% intPage = Request("page") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 25 End If
Set rs = Server.CreateObject("ADODB.RecordSet") Set rs2 = Server.CreateObject("ADODB.RecordSet") strSQL = "SELECT Header FROM Billeder" SQL = "SELECT Count(*) as Antal FROM Billeder" strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("database.mdb") rs2.Open SQL, strDSN rs.Open strSQL, strDSN, 1, 3 If Not (rs.BOF Or rs.EOF) Then rs.PageSize = rs2("antal") rs.AbsolutePage = intPage intRecCount = rs.PageSize intPageCount = rs.PageCount Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>" Do While Not rs.EOF And intRecCount > 0 Response.Write rs("Header") & "<br>" intRecCount = intRecCount - 1 rs.MoveNext Loop End If rs.Close Set rs = Nothing
Response.Write "<p>Gå til side " For intNum = 1 To intPageCount Response.Write "<a href=paging.asp?page=" & intNum & ">" & intNum & "</a> " Next
Response.Write "<p>" If Clng(intPage) > 1 Then Response.Write "<a href=paging.asp?page=" & intPage - 1 & "><<</a>" Else Response.Write "<<" End If
Response.Write " "
If Clng(intPage) < Clng(intPageCount) Then Response.Write "<a href=paging.asp?page=" & intPage + 1 & ">>></a> " Else Response.Write ">>" End If %>
Phylox: Det ER faktisk det script jeg bruger. Men jeg connecter anderledes til databasen:
<% intPage = Request("page") If isNumeric(intPage) = False Or intPage < 1 Then intPage = 1 End If
Set objDBConn = Server.CreateObject("ADODB.Connection") Set RS = Server.CreateObject("ADODB.Recordset") objDBConn.Open "DATABASE" strsql = "SELECT * FROM TABEL" 'rs.open strsql, objDBConn, adopenstatic Set Rs = objDBConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then rs.PageSize = 10 rs.AbsolutePage = intPage intRecCount = rs.PageSize intPageCount = rs.PageCount Response.Write "<p><b>Side " & intPage & " af " & intPageCount & "</b></p>" Do While Not rs.EOF And intRecCount > 0 Response.Write rs("title") & "<br>" intRecCount = intRecCount - 1 rs.MoveNext Loop End If rs.Close Set rs = Nothing
Response.Write "<p>Gå til side " For intNum = 1 To intPageCount Response.Write "<a href=paging.asp?page=" & intNum & ">" & intNum & "</a> " Next
Response.Write "<p>" If Clng(intPage) > 1 Then Response.Write "<a href=paging.asp?page=" & intPage - 1 & "><<</a>" Else Response.Write "<<" End If
Response.Write " "
If Clng(intPage) < Clng(intPageCount) Then Response.Write "<a href=paging.asp?page=" & intPage + 1 & ">>></a> " Else Response.Write ">>" End If %>
Så problemet er der stadig! :oI
Sjensen: Nej ikke endnu, men det kan da ikke passe at de ikke udbyder?!?!?
Problemet ligger i at du ikke kan bruge adOpenStatic til paging....Der skal du bruge adOpenKeyset.....Spørg mig ikke hvorfor :-) Derfor vil Phylox2' script nok også virke..
Problemet ligger i at du IKKE benytter et recordset. Det er du nødt til for at navigere via en cursor.
'rs.open strsql, objDBConn, adopenstatic
Denne linie skal du afkommentere og så fjerne den anden linie nedenunder.
Hvis det stadig ikke virker så prøv med rs.open strsql, objDBConn, 1, 1
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.