webForumDet fria alternativet

Getrows och MySQL

6 svar · 269 visningar · startad av Asa

AsaMedlem sedan dec. 20011 860 inlägg
#1

Har kollat lite på denna Getrows kod (http://www.dileno.hel.nu/asp/default.asp?id=3) och den funkar fint med Access men när jag vill koppla det till MySQL funkar det inte alls. Nån som kan ändra koden så den funkar?

<%
Dim Cn, Rs, page, rowcount, pagecounter, arrRecs, i, Antal, pagecount, Pz 
dInitTime = Timer()
page = Request.Querystring("page") 
If page="" Then page=1 
rowcount=0 

Set Cn = Server.CreateObject("ADODB.Connection") 
Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db.mdb") 

Set Rs = Cn.Execute("Select id,falt1,falt2,falt3 From tbl_ Order By Id") 
If Rs.EOF Then 
  Rs.Close : Set Rs = Nothing 
  Cn.Close : Set Cn = Nothing 
  Response.Write "Inga poster i databasen än.." 
Else 
  Rs.Close 
  Rs.Cursortype=3 
  Rs.Open 
  Rs.Pagesize=200 'antalet poster per sida

  Rs.Absolutepage=cInt(page) 

  Antal = Rs.Recordcount 
  Pz = Rs.Pagesize
  pagecount = ((Antal-1) \ Pz) -- 1 
      arrRecs = Rs.GetRows(Pz) 
  Rs.Close : Set Rs = Nothing 
  Cn.Close : Set Cn = Nothing%>

<table border="1">
  <%If IsArray(arrRecs) Then
    For i = 0 To UBound(arrRecs,2) And rowcount < Pz 
      Response.Write "<tr><td>" & arrRecs(0,i) & "</td><td>" & arrRecs(1,i) & "</td><td>" & arrRecs(2,i) & "</td><td>" & arrRecs(3,i) & "</td></tr>"
    Next
  End If%>
</table>

  <%If Antal > Pz Then 
    If Cint(page) > 1 Then
      Response.Write "<A href=""?page=" & page - 1 & """>Bakåt</a> | "
    End If
    For pagecounter = 1 to Pagecount 
      If Cint(page) = pagecounter Then
        Response.Write "<b>" & pagecounter & "</b> " 
      Else
        Response.Write "<a href=""?page=" & pagecounter & """>" & pagecounter & "</a> " 
      End If
    Next 
    If Cint(page) < Pagecount Then
      Response.Write " | <A href=""?page=" & page + 1 & """>Framåt</a>"
    End If
  End If
End If
fPeriod = FormatNumber(Timer() - dInitTime, 3) 
Response.Write "<br>Laddningstid: <b>" & fPeriod & "</b> s."
%>
Engine^Medlem sedan dec. 20003 887 inlägg
#2

Du måste byta provider till en MySQL-provider. Den du har nu är för Access (Micorsoft.Jet.OleDb.4.0).

https://www.connectionstrings.com

@ndersMedlem sedan juni 200032 969 inlägg
#3

Dessutom fungerar inte paging på samma sätt med MySQL. Du kan inte använda ADO för paging, utan du måste begränsa urvalet i SQL-frågan med LIMIT.

AsaMedlem sedan dec. 20011 860 inlägg
#4

Jag har redan testat å ändra providern så det är väl det som @nders säger. Hur gör jag de ti SQL frågan då?

@ndersMedlem sedan juni 200032 969 inlägg
#5

Det finns ett gäng exempel här på wF. Jag sökte på exempelvis paging and mysql och fick massor av finfina sökträffar. ;)

mvh

AsaMedlem sedan dec. 20011 860 inlägg
#6

Okidoki! Ska söka lite! Tackar.

trexterMedlem sedan mars 20021 889 inlägg
#7

Annars är det bara att konsultera manualen:
http://www.mysql.com/search/index.php?q=limit&from=%2Findex.html

126 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
123 ms — hämta tråd, inlägg och bilagor (db)