04. november 2003 - 13:44Der er
14 kommentarer og 1 løsning
Alfabetisk problem
Er der en, der kan fortælle mig, hvordan jeg kan lave det anderledes, når jeg kalder fra min DB og ønsker overskrifterne i albetisk rækkefølge, at den ikke laver ø til o, å til a og æ til a i den viste rækkefølge. Jeg bruger p.t. følgende string;
strSQL = "Select * from opskrifter order by nick asc"
I lang tid har samarbejdsbranchen fokuseret på at forbedre enhedsfunktioner – bedre kameraer, klarere lyd og smartere software. Men den virkelige forvandling handler ikke om funktioner.
Tror du har ret i, det har noget med den engelske version at gøre. Jeg har prøvet at indsætte den linie, du foreslog men der sker ikke noget. Mit scrip ser sådan ud:
' Databaseforbindelse - husk at angive sti til din database Set Conn = Server.CreateObject("ADODB.Connection") DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " DSN = DSN & "DBQ=" & Server.MapPath("users.mdb") Conn.Open DSN
' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift strSQL = "Select * from opskrifter order by nick asc"
' Udfør forespørgsel (objRec indeholder nu resultatet) Set objRec = Conn.Execute(strSQL)
Jeg tror ikke der er noget at gøre så længe du kører med en engelsk DB.
Man kan selvfølgelig selv lave en bobbelsortering af recordsettet efter det er trukket ud af DB...... men har desværre ikke noget eksempel lige ved hånden
If Len(strKeyword) = 0 Then ' Hvis der ikke er skrevet i feltet 'Response.Clear Response.Redirect("opskrifter.asp") Else ' Hvis der er skrevet i feltet strKeyword = Replace(strKeyword,"'","''") End If
' Opbygger en dynamisk SQL streng strSQL = "SELECT ID, nick, text, dato, tid, id FROM opskrifter WHERE" strSQL = strSQL & " (nick LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (text LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (dato LIKE '%" & strKeyword & "%')" strSQL = strSQL & " OR (tid LIKE '%" & strKeyword & "%')"
' Skaber DSNLess forbindelse til DB'en strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("users.mdb") Set myConn = Server.CreateObject("ADODB.Connection") myConn.Open strDSN
' SQL forespørgsel - asc = sætter opskrifterne i alfabetisk rækkefølge i forhold til 'nick' = navn på opskrift i min DB sql = "select * from opskrifter where id = " & request.querystring("id") & " order by nick asc"
' Skaber et recordset udfra SQL strengen Set rs = myConn.Execute(strSQL) If Not (rs.BOF Or rs.EOF) Then ' Hvis der er fundet poster på søgningen Response.Write "<table border=0>" Do While Not rs.EOF
rs.MoveNext Loop Else ' Hvis der ikke er fundet poster på søgningen Response.Write "<p><span class=""broedtxt"">Beklager, der er desværre intet resultat på søgningen!</span></p>" End If
' Rydder op efter os myConn.Close Set myConn = Nothing %> </td> </tr> </table></td> </tr> </table></td> </tr> </table>
Hvad mener du med, om min SQL er helt tom? Den kommer frem med overskrifterne, men de vises i den rækkefølge, de er tastet ind, hvor jeg ønsker dem i dansk alfabetiskorden.
eksekverer du den streng der hedder strSQL (som ikke indeholder en ORDER BY) den SQL-streng som indeholder en ORDER BY hedder sql - men den bruger du ikke
Jeg tager hatten af for din indsats og tålmodighed, Kovalt...men jeg synes, jeg har prøvet mange ting, uden det virker. Kunne du ikke tage fat i mine koder ovenfor og ændrer det, du mener, der skal til?
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.