Avatar billede sapworld Nybegynder
12. juli 2005 - 16:44 Der er 14 kommentarer og
1 løsning

Hente 2 poster fra her katagori fra access database

Hej

Jeg har en access database med links. Her registrerer jeg katagori af links, samt tæller når der klikkes på dem.

Nu skal jeg have lavet et side der viser de 2 mest brugte links i hver katagori:

PC / mobil
link 1
link 2

Hjemmesider
Link 1
Link 2

osv osv osv....

Jeg ville jo gerne at siden loader hurtigst muligt, så hvordan laver jeg det bedste kald?

Hvad mangler her?
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../DB/database.mdb")
Conn.Open DSN
%>

PC / Mobil
<%
sql = "Select top 2 * from links Where catagory = 'PC / Mobil' order by count desc%>
set links = objConn.Execute(strSQL)
<%=links.Fields("link")%>

PC / Mobil
<%
sql = "Select top 2 * from links Where catagory = 'hjemmesider' %order by count desc>
set links = objConn.Execute(strSQL)
<%=links.Fields("link")%>

<%
objConn.Close
%>
Avatar billede nielle Nybegynder
12. juli 2005 - 19:32 #1
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../DB/database.mdb")
Conn.Open DSN
%>

PC / Mobil
<%
sql = "Select top 2 * from links Where catagory = 'PC / Mobil' order by count desc"
set links = objConn.Execute(strSQL)
do while not rs.eof
    Response.Write links.Fields("link") & "<br>"
    links.MoveNext
loop
%>

PC / Mobil
<%
sql = "Select top 2 * from links Where catagory = 'hjemmesider' order by count desc"
set links = objConn.Execute(strSQL)
do while not rs.eof
    Response.Write links.Fields("link") & "<br>"
    links.MoveNext
loop

objConn.Close
%>
Avatar billede sapworld Nybegynder
12. juli 2005 - 20:26 #2
JEg får denne fejl:
Microsoft VBScript runtime error '800a01a8'
Object required: ''
/intern/test.asp, line 97
Avatar billede nielle Nybegynder
12. juli 2005 - 20:33 #3
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../DB/database.mdb")
Conn.Open DSN
%>

PC / Mobil
<%
strSQL = "Select top 2 * from links Where catagory = 'PC / Mobil' order by count desc"
set links = objConn.Execute(strSQL)
do while not rs.eof
    Response.Write links.Fields("link") & "<br>"
    links.MoveNext
loop
%>

PC / Mobil
<%
strSQL = "Select top 2 * from links Where catagory = 'hjemmesider' order by count desc"
set links = objConn.Execute(strSQL)
do while not rs.eof
    Response.Write links.Fields("link") & "<br>"
    links.MoveNext
loop

objConn.Close
%>
Avatar billede sapworld Nybegynder
12. juli 2005 - 20:43 #4
Jeg får samme fejl - jeg har rettet lidt i koden:
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../DB/database.mdb")
Conn.Open DSN
%>

Diverse<br>
<%
strSQL = "Select top 2 * from links Where catagory = 'Diverse' order by count desc"
set links = objConn.Execute(strSQL)
do while not rs.eof
    Response.Write links.Fields("link") & "<br>"
    links.MoveNext
loop
%>

Hjemmeside<br>
<%
strSQL = "Select top 2 * from links Where catagory = 'hjemmeside' order by count desc"
set links = objConn.Execute(strSQL)
do while not rs.eof
    Response.Write links.Fields("link") & "<br>"
    links.MoveNext
loop

objConn.Close
%>
Avatar billede nielle Nybegynder
12. juli 2005 - 20:44 #5
Hvad er line 97 så for en af dem?
Avatar billede sapworld Nybegynder
12. juli 2005 - 20:45 #6
set links = objConn.Execute(strSQL)
Avatar billede nielle Nybegynder
12. juli 2005 - 20:47 #7
Den 1. eller den 2. af dem?
Avatar billede nielle Nybegynder
12. juli 2005 - 20:49 #8
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../DB/database.mdb")
Conn.Open DSN
%>

Diverse<br>
<%
strSQL = "Select top 2 * from links Where catagory = 'Diverse' order by count desc"
set links = Conn.Execute(strSQL)
do while not rs.eof
    Response.Write links("link") & "<br>"
    links.MoveNext
loop
%>

Hjemmeside<br>
<%
strSQL = "Select top 2 * from links Where catagory = 'hjemmeside' order by count desc"
set links = Conn.Execute(strSQL)
do while not rs.eof
    Response.Write links("link") & "<br>"
    links.MoveNext
loop

Conn.Close
%>
Avatar billede nielle Nybegynder
12. juli 2005 - 20:50 #9
Dine SQL sætninger ender med:

...  order by count desc

- hvad mener du egentlig med det? Det er nemlig ikke lovlig SQL og det skal derfor tilrettes.
Avatar billede sapworld Nybegynder
12. juli 2005 - 20:54 #10
Hmm - nu er det denne:
Alm. tekst her Diverse
Microsoft VBScript runtime error '800a01a8'
Object required: ''
/intern/test.asp, line 98

Linie 98 er den første af disse:
do while not rs.eof
Avatar billede nielle Nybegynder
12. juli 2005 - 20:56 #11
Vi nærmer os:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../DB/database.mdb")
Conn.Open DSN
%>

Diverse<br>
<%
strSQL = "Select top 2 * from links Where catagory = 'Diverse' order by count desc"
set links = Conn.Execute(strSQL)
do while not links.eof
    Response.Write links("link") & "<br>"
    links.MoveNext
loop
%>

Hjemmeside<br>
<%
strSQL = "Select top 2 * from links Where catagory = 'hjemmeside' order by count desc"
set links = Conn.Execute(strSQL)
do while not links.eof
    Response.Write links("link") & "<br>"
    links.MoveNext
loop

Conn.Close
%>
Avatar billede sapworld Nybegynder
12. juli 2005 - 20:56 #12
Count er navnet på et kolonne i databasen
Avatar billede nielle Nybegynder
12. juli 2005 - 20:58 #13
Count er desværre også et reserveret ord i SQL. Derfor skal det havde særbehandling:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("../../DB/database.mdb")
Conn.Open DSN
%>

Diverse<br>
<%
strSQL = "Select top 2 * from links Where catagory = 'Diverse' order by [count] desc"
set links = Conn.Execute(strSQL)
do while not links.eof
    Response.Write links("link") & "<br>"
    links.MoveNext
loop
%>

Hjemmeside<br>
<%
strSQL = "Select top 2 * from links Where catagory = 'hjemmeside' order by [count] desc"
set links = Conn.Execute(strSQL)
do while not links.eof
    Response.Write links("link") & "<br>"
    links.MoveNext
loop

Conn.Close
%>
Avatar billede sapworld Nybegynder
12. juli 2005 - 21:01 #14
ahh - nu virker det :)

Tak for hjælpen - poster du er svar
Avatar billede nielle Nybegynder
12. juli 2005 - 21:04 #15
Svar :^)
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