Avatar billede ambolt117 Nybegynder
27. december 2004 - 16:11 Der er 3 kommentarer og
1 løsning

Paging og korrekt cursor? Current Recordset does not support bo

Hej - jeg er ved at oversætte noget ellers velfungerende ASP til mit nye webhotels krav (web10) og hér får jeg fejlen:

Current Recordset does not support bookmarks. This may be a limitation of the provider or of the selected cursortype.



Udbyder ønsker at man bruger noget a la:
set conn = server.createobject("ADODB.connection")
conn.Open "DBQ=" & server.mappath("database.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"

SQL = "select * from tabelnavn"
set RS = conn.execute( SQL )




Hér bringer jeg de (forhåbentlig) relevabte linier med #FEJL# foran den linie som giver fejlen:

*****************************************************************

<%@ LANGUAGE="VBSCRIPT"%>
<%
option explicit
dim ....
%>
<!--#include file="adovbs.inc"-->
<!--#include file="CommonFunctions.inc"-->
<%
..............

'Paging
intPage = Request.Querystring("page")

If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
    kunstnernavn=ConvertString(Trim(request.form("kunstnernavn")))
    aarstal=ConvertString(Trim(request.form("aarstal")))
    Titel=ConvertString(Trim(request.form("Titel")))
    billede=ConvertString(Trim(request.form("billede")))
    Notater=ConvertString(Trim(request.form("Notater")))
    Kategoriinput=ConvertString(Trim(request.form("Kategoriinput")))
    Else kunstnernavn = Trim(Request.Querystring("kunstnernavn"))
    aarstal = Trim(Request.Querystring("aarstal"))
    Titel = Trim(Request.Querystring("Titel"))
    billede = Trim(Request.Querystring("billede"))
    Notater = Trim(Request.Querystring("Notater"))
    Kategoriinput = Trim(Request.Querystring("Kategoriinput"))
End If

.................

Set conn = Server.CreateObject("ADODB.connection")
conn.Open = "DBQ=" & server.mappath("/db/russisk3.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"

strSQL = "Select * From T_kunstnere where Navn "
strSQL = strSQL & "like '%" & kunstnernavn & "%'"
strSQL = strSQL & " and Aarstal like '%" & aarstal & "%'"
strSQL = strSQL & " and Titel like '%" & Titel & "%'"
strSQL = strSQL & " and Billede like '%" & billede & "%'"
strSQL = strSQL & " and Notater+Notes2+Notes3 like '%" & notater & "%'"
strSQL = strSQL & " and Kategori like '%" & Kategoriinput & "%'"
strSQL = strSQL & " order by Aarstal"

set rs = conn.execute( strSQL)



'Ved tomt recortset videresendes brugeren. Der lukkes og slukkes.
If (rs.BOF AND rs.EOF) Then
    rs.Close
    Set rs = Nothing
    Response.Redirect "ingenposter.asp"
End If


'Samlet antal poster i recordsættet bestemmes:
If antal = 0 then
Do while (Not rs.EOF)
antal = antal + 1
rs.MoveNext
Loop
rs.MoveFirst
End if


If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
#FEJL#      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

       
  ' Personens navn
  strNavn = rs("Navn")

  ' lav et link til enkeltvaerk.asp med Id-værdien i URL
  strLink = "<a href='enkeltvaerk.asp?Id=" & rs("Id") & "'>" & strNavn & "</a>"

    'Billedet tilknyttes
    strBillede = rs("Billede")

................


        'Aarstal tilknyttes
    strAarstal = rs("Aarstal")

    'Titel tilknyttes
    strTitel = rs("Titel")

    'Postnr - Id tilknyttes
    strId = rs("Id")
   
    'Kategori tilknyttes
    strKategori = rs("Kategori")
   
intRecCount = intRecCount - 1
n=(IntPage*10)-intRecCount

  ' Liste med links
Response.write "<li>" & "Post nr. " & n & " af " & antal & "</li>"
Response.write "<li>" & "Id-nr. " & strId & " i kategorien: " & strKategori & "</li>"
Response.Write "<li>" & "Titel: " & strTitel & "</li>"
Response.Write "<li>" & "Artist(s) / Writer(s); " & strLink & "</li>" & " (" & strAarstal & ") " & "<br>" & "<img border='0' src='billeder/"
response.Write strBillede & "'"
Response.Write " width='" & newwidth & "' height='" & newheight
Response.Write "'>" & "<hr>"

   
  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=soegresultater6.asp?page=" & intNum & "&amp;"
    Response.Write "kunstnernavn=" & kunstnernavn & "&amp;"
    Response.Write "aarstal=" & aarstal & "&amp;"
    Response.Write "Titel=" & Titel & "&amp;"
    Response.Write "billede=" & billede & "&amp;"
    Response.Write "Notater=" & Notater & "&amp;"
    Response.Write "Kategoriinput=" & Kategoriinput & ">" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=soegresultater6.asp?page=" & intPage - 1 & "&amp;"
    Response.Write "kunstnernavn=" & kunstnernavn & "&amp;"
    Response.Write "aarstal=" & aarstal & "&amp;"
    Response.Write "Titel=" & Titel & "&amp;"
    Response.Write "billede=" & billede & "&amp;"
    Response.Write "Notater=" & Notater & "&amp;"
    Response.Write "Kategoriinput=" & Kategoriinput & ">&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=soegresultater6.asp?page=" & intPage + 1 & "&amp;"
    Response.Write "kunstnernavn=" & kunstnernavn & "&amp;"
    Response.Write "aarstal=" & aarstal & "&amp;"
    Response.Write "Titel=" & Titel & "&amp;"
    Response.Write "billede=" & billede & "&amp;"
    Response.Write "Notater=" & Notater & "&amp;"
    Response.Write "Kategoriinput=" & Kategoriinput & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If
Response.Write "<hl><a href='soegpaakunstner.asp'>Retur til søgesiden</a> - <a href='../index.asp'>Retur til forsiden</a><hr><br>"
%>
Avatar billede ellebaek Nybegynder
27. december 2004 - 23:23 #1
når du benytter de funtioner som bruges til paging skal du benytte recordsets...
prøv lige det her i stedet:

<%@ LANGUAGE="VBSCRIPT"%>
<%
option explicit
dim ....
%>
<!--#include file="adovbs.inc"-->
<!--#include file="CommonFunctions.inc"-->
<%
..............

'Paging
intPage = Request.Querystring("page")

If isNumeric(intPage) = False Or intPage < 1 Then
    intPage = 1
    kunstnernavn=ConvertString(Trim(request.form("kunstnernavn")))
    aarstal=ConvertString(Trim(request.form("aarstal")))
    Titel=ConvertString(Trim(request.form("Titel")))
    billede=ConvertString(Trim(request.form("billede")))
    Notater=ConvertString(Trim(request.form("Notater")))
    Kategoriinput=ConvertString(Trim(request.form("Kategoriinput")))
    Else kunstnernavn = Trim(Request.Querystring("kunstnernavn"))
    aarstal = Trim(Request.Querystring("aarstal"))
    Titel = Trim(Request.Querystring("Titel"))
    billede = Trim(Request.Querystring("billede"))
    Notater = Trim(Request.Querystring("Notater"))
    Kategoriinput = Trim(Request.Querystring("Kategoriinput"))
End If

.................

Set conn = Server.CreateObject("ADODB.connection")
conn.Open = "DBQ=" & server.mappath("/db/russisk3.mdb") & ";Driver={Microsoft Access Driver (*.mdb)}"
Set rs = Server.CreateObject("ADODB.RecordSet")

strSQL = "Select * From T_kunstnere where Navn "
strSQL = strSQL & "like '%" & kunstnernavn & "%'"
strSQL = strSQL & " and Aarstal like '%" & aarstal & "%'"
strSQL = strSQL & " and Titel like '%" & Titel & "%'"
strSQL = strSQL & " and Billede like '%" & billede & "%'"
strSQL = strSQL & " and Notater+Notes2+Notes3 like '%" & notater & "%'"
strSQL = strSQL & " and Kategori like '%" & Kategoriinput & "%'"
strSQL = strSQL & " order by Aarstal"

rs.open strSQL, conn, 1



'Ved tomt recortset videresendes brugeren. Der lukkes og slukkes.
If (rs.BOF AND rs.EOF) Then
    rs.Close
    Set rs = Nothing
    Response.Redirect "ingenposter.asp"
End If


'Samlet antal poster i recordsættet bestemmes:
If antal = 0 then
Do while (Not rs.EOF)
antal = antal + 1
rs.MoveNext
Loop
rs.MoveFirst
End if


If Not (rs.BOF Or rs.EOF) Then
    rs.PageSize = 10
#FEJL#      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

     
  ' Personens navn
  strNavn = rs("Navn")

  ' lav et link til enkeltvaerk.asp med Id-værdien i URL
  strLink = "<a href='enkeltvaerk.asp?Id=" & rs("Id") & "'>" & strNavn & "</a>"

    'Billedet tilknyttes
    strBillede = rs("Billede")

................


        'Aarstal tilknyttes
    strAarstal = rs("Aarstal")

    'Titel tilknyttes
    strTitel = rs("Titel")

    'Postnr - Id tilknyttes
    strId = rs("Id")
 
    'Kategori tilknyttes
    strKategori = rs("Kategori")
 
intRecCount = intRecCount - 1
n=(IntPage*10)-intRecCount

  ' Liste med links
Response.write "<li>" & "Post nr. " & n & " af " & antal & "</li>"
Response.write "<li>" & "Id-nr. " & strId & " i kategorien: " & strKategori & "</li>"
Response.Write "<li>" & "Titel: " & strTitel & "</li>"
Response.Write "<li>" & "Artist(s) / Writer(s); " & strLink & "</li>" & " (" & strAarstal & ") " & "<br>" & "<img border='0' src='billeder/"
response.Write strBillede & "'"
Response.Write " width='" & newwidth & "' height='" & newheight
Response.Write "'>" & "<hr>"

 
  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=soegresultater6.asp?page=" & intNum & "&amp;"
    Response.Write "kunstnernavn=" & kunstnernavn & "&amp;"
    Response.Write "aarstal=" & aarstal & "&amp;"
    Response.Write "Titel=" & Titel & "&amp;"
    Response.Write "billede=" & billede & "&amp;"
    Response.Write "Notater=" & Notater & "&amp;"
    Response.Write "Kategoriinput=" & Kategoriinput & ">" & intNum & "</a> "
Next

Response.Write "<p>"
If Clng(intPage) > 1 Then
    Response.Write "<a href=soegresultater6.asp?page=" & intPage - 1 & "&amp;"
    Response.Write "kunstnernavn=" & kunstnernavn & "&amp;"
    Response.Write "aarstal=" & aarstal & "&amp;"
    Response.Write "Titel=" & Titel & "&amp;"
    Response.Write "billede=" & billede & "&amp;"
    Response.Write "Notater=" & Notater & "&amp;"
    Response.Write "Kategoriinput=" & Kategoriinput & ">&lt;&lt;</a>"
Else
    Response.Write "&lt;&lt;"
End If

Response.Write "&nbsp;"

If Clng(intPage) < Clng(intPageCount) Then
    Response.Write "<a href=soegresultater6.asp?page=" & intPage + 1 & "&amp;"
    Response.Write "kunstnernavn=" & kunstnernavn & "&amp;"
    Response.Write "aarstal=" & aarstal & "&amp;"
    Response.Write "Titel=" & Titel & "&amp;"
    Response.Write "billede=" & billede & "&amp;"
    Response.Write "Notater=" & Notater & "&amp;"
    Response.Write "Kategoriinput=" & Kategoriinput & ">&gt;&gt;</a> "
Else
    Response.Write "&gt;&gt;"
End If
Response.Write "<hl><a href='soegpaakunstner.asp'>Retur til søgesiden</a> - <a href='../index.asp'>Retur til forsiden</a><hr><br>"
%>
Avatar billede ambolt117 Nybegynder
30. december 2004 - 10:02 #2
Det tog lige lidt tid... julemaden skulle fordøjes, men JO det virker! Drop lige et svar.

Takker.

:-) Ambolt
Avatar billede ellebaek Nybegynder
30. december 2004 - 21:29 #3
Jeg smider et svar her ;-)
Avatar billede ambolt117 Nybegynder
30. december 2004 - 22:05 #4
OK
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester