Avatar billede fuldstop Nybegynder
27. februar 2004 - 16:10 Der er 5 kommentarer og
1 løsning

sql-forespørgelse og sortering.

har følgende stykke asp-kode, hvorfor sorterer den kun efter "dato desc" også selv om jeg trykker på linkene.

Udsnit af kode:

<td class=log1 width=150><b><A href="/log1.asp?sort=">Dato:</a></b></td><td class=log1 width=100><b><A href="/log1.asp?sort=bruger">Bruger:</a></b></td><td class=log1 width=50><b><A href="/log1.asp?sort=vagt">Vagt:</a></b></td><td class=log1 width=400><b><A href="/log1.asp?sort=beskrivelse">Beskrivelse:</a></b></td>
</tr>
</table>
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("/log.mdb")
Conn.Open DSN
If Request.Querystring("sort") = "" THEN
sort= "dato"
ElseIf Request.Querystring("sort") = "bruger" THEN
sort="bruger"
ElseIf Request.Querystring("sort") = "beskrivelse" THEN
sort="beskrivelse"
Else
sort="dato"
End If
strSQL = "Select * from Tabel1 Order by '" & sort & "' Desc"
Set rs = Conn.Execute(strSQL)

Do
count=count+1
count1=count/2
If Instr(count1, ",") THEN
color="#FFFFFF"
Else
color="#CCCCCC"
End IF
  Response.Write "<table width=700 border=1 bgcolor=" & color & ">" & "<tr>" & "<td class=log1 width=150 valign=top bordercolor=" & color & ">" & rs("dato") & "</td><td class=log1 width=100 valign=top bordercolor=" & color & ">" & rs("bruger") & "</td><td class=log1 width=50 valign=top bordercolor=" & color & ">" & rs("vagt") & "</td><td class=log1 width=400 valign=top bordercolor=" & color & ">" & rs("beskrivelse") & "</td>" & "</tr>" & "</table>"

  rs.MoveNext

Loop While Not rs.EOF

Conn.Close
Set Conn = Nothing
%>
Avatar billede nute Nybegynder
27. februar 2004 - 16:22 #1
hmm ... din kode fungerer fint for mig. eneste jeg ville have gjort med din kode, var at ændre lidt på din if statement ... jeg ville have lavet den som dette:

If( LEN( TRIM( Request.Querystring("sort") ) ) > 0 ) Then
    sort= Request.Querystring("sort")
Else
    sort= "dato"
End if

/nute
Avatar billede eagleeye Praktikant
27. februar 2004 - 16:23 #2
Hvilken virker ikke, det skulle virke for Bruger og Beskrivelse.

Evt prøv at lave din SQL sætning om så der ikke er ' omkriung kolonnenavnet:
strSQL = "Select * from Tabel1 Order by '" & sort & "' Desc"

Sådan her:

strSQL = "Select * from Tabel1 Order by " & sort & " Desc"
Avatar billede fuldstop Nybegynder
27. februar 2004 - 16:36 #3
Ok så virker det :)
Ændrede min If sætning som nutes, og fjernede ' ' i sql-forespørgelsen som eagleeye foreslog, så hvis i begge lige smider et svar, såååå er der point, og tak for hjælpen. :)
Avatar billede eagleeye Praktikant
27. februar 2004 - 16:43 #4
Ok, men husk så kan folk selv skrive en kolonne og hvis den ikke findes så får de en fejl side eks:

xx.asp?sort=xhdn

så får man sådan en fejl:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Avatar billede nute Nybegynder
27. februar 2004 - 16:50 #5
eagleeye >> true ... den havde jeg ikke lige tænkt på :-|

jeg dropper at svare da jeg kom med et relativt dårlig forslag i tillæg til at eagleeye spottet de manglende ''

/nute
Avatar billede fuldstop Nybegynder
27. februar 2004 - 17:10 #6
LOL ok nute har lavet den om til den oprindelige if-sætning. men tak for hjælpen alligevel.
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