/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
ORDER BY '" & variabel &"' ..????
Fra : otto


Dato : 26-01-02 09:28


Hej
Jeg har prøvet snart sagt alt ., men det virker ikke.

Hvordan sorterer jeg data fra en db-tabel, efter brugerens valg ?

Jeg har lavet en FORM hvor bruger vælger at sortere data fra DB
denne variabel kaldes strOrder og fungerer fint , men jeg kan ikke få den
til at virke i min forespørgsel .

koden med formular og forespørgsel ser sådan ud:
se siden på: http://213.237.9.227/fhf-link/showall.asp

<Form action="<%=Request.ServerVariables("Script_NAME")%>" method="Post">
Sorter listen efter :
<SELECT NAME="strOrder">
<Option Selected>Sorter efter</option>
<Option value="fag">Fag</Option>
<Option value="emne">Emne</Option>
<Option value="dato">Dato</Option>
</select>
<input type="submit" Value="Sorter liste"></input>

' vores recordset oprettes med static cursor
DIM sorter
sorter=Request("strOrder")

Set RS = Server.CreateObject("ADODB.Recordset")
RS.CursorType = adOpenStatic
RS.ActiveConnection = Con


' vores forespørgsels string defineres
RS.Open="Select * FROM links ORDER BY '" & sorter & "' "


Response.Write"Der er indtastet:&nbsp;&nbsp;<b>" & RS.RecordCount
response.write"</b> links. Listen er sorteret efter <b> " & sorter

med venlig hilsen
Otto - og på forhånd tak for din tid !

--
_____________________________________________
Otto Leholt
Baggesensgade 19 , 2200 Copenhagen N
tlf 3537 4928 mobil 2076 9094
http://www3.brinkster.com/otto/home.asp
_____________________________________________




 
 
Tony Lorentzen (26-01-2002)
Kommentar
Fra : Tony Lorentzen


Dato : 26-01-02 11:45

Hejsa,

Den korrekte syntaks for at lave en "order by" er f.eks.:

SELECT [fields] FROM [tablename] WHERE [clause] ORDER BY [fieldname]

I dit tilfælde laver du en SQL Sætning der kommer til at se ud således:

SELECT * FROM links ORDER BY 'fag'

Du skal fjerne den lille plinger (som jeg kalder den): ' rundt om navnet på
det felt du vil sortere efter, og så burde det virke. Et andet godt tip er
altid at skrive de navnet på de felter du vil hive ud - det giver bedre
performance og så får du ikke problemer hvis du f.eks. bruger SQL Server
(eller skal opgradere til det senere).

Hilsner,
Tony Lorentzen
tony@lorentzen.com

"otto" <leholt@worldonline.dk> wrote in message
news:KOt48.5412$Eu2.678707@news010.worldonline.dk...
>
> Hej
> Jeg har prøvet snart sagt alt ., men det virker ikke.
>
> Hvordan sorterer jeg data fra en db-tabel, efter brugerens valg ?
>
> Jeg har lavet en FORM hvor bruger vælger at sortere data fra DB
> denne variabel kaldes strOrder og fungerer fint , men jeg kan ikke få den
> til at virke i min forespørgsel .
>
> koden med formular og forespørgsel ser sådan ud:
> se siden på: http://213.237.9.227/fhf-link/showall.asp
>
> <Form action="<%=Request.ServerVariables("Script_NAME")%>" method="Post">
> Sorter listen efter :
> <SELECT NAME="strOrder">
> <Option Selected>Sorter efter</option>
> <Option value="fag">Fag</Option>
> <Option value="emne">Emne</Option>
> <Option value="dato">Dato</Option>
> </select>
> <input type="submit" Value="Sorter liste"></input>
>
> ' vores recordset oprettes med static cursor
> DIM sorter
> sorter=Request("strOrder")
>
> Set RS = Server.CreateObject("ADODB.Recordset")
> RS.CursorType = adOpenStatic
> RS.ActiveConnection = Con
>
>
> ' vores forespørgsels string defineres
> RS.Open="Select * FROM links ORDER BY '" & sorter & "' "
>
>
> Response.Write"Der er indtastet:&nbsp;&nbsp;<b>" & RS.RecordCount
> response.write"</b> links. Listen er sorteret efter <b> " & sorter
>
> med venlig hilsen
> Otto - og på forhånd tak for din tid !
>
> --
> _____________________________________________
> Otto Leholt
> Baggesensgade 19 , 2200 Copenhagen N
> tlf 3537 4928 mobil 2076 9094
> http://www3.brinkster.com/otto/home.asp
> _____________________________________________
>
>
>



Bjørn Fossen (26-01-2002)
Kommentar
Fra : Bjørn Fossen


Dato : 26-01-02 11:48


"otto" <leholt@worldonline.dk> wrote in message
news:KOt48.5412$Eu2.678707@news010.worldonline.dk...
>
> Hej
> Jeg har prøvet snart sagt alt ., men det virker ikke.
>
> Hvordan sorterer jeg data fra en db-tabel, efter brugerens valg ?
>
> Jeg har lavet en FORM hvor bruger vælger at sortere data fra DB
> denne variabel kaldes strOrder og fungerer fint , men jeg kan ikke få den
> til at virke i min forespørgsel .
>
>
> ' vores forespørgsels string defineres
> RS.Open="Select * FROM links ORDER BY '" & sorter & "' "
>

Prøv:
RS.Open="Select * FROM links ORDER BY " & sorter

Mvh
Bjørn



knud@berggreen.inval~ (26-01-2002)
Kommentar
Fra : knud@berggreen.inval~


Dato : 26-01-02 11:50

In <KOt48.5412$Eu2.678707@news010.worldonline.dk>, on 01/26/2002
at 09:27 AM, "otto" <leholt@worldonline.dk> said:


>Hej
>Jeg har prøvet snart sagt alt ., men det virker ikke.

>Hvordan sorterer jeg data fra en db-tabel, efter brugerens valg ?

> ' vores forespørgsels string defineres
>RS.Open="Select * FROM links ORDER BY '" & sorter & "' "

Hvis sorter=name så vil indholdet i RS.Open blive
Select * FROM links ORDER BY 'name'
Det skal jo være
Select * FROM links ORDER BY name

så prøv

RS.Open="Select * FROM links ORDER BY " & sorter

/Knud


--
Skr keksempler p splittede, sammensatte ord: http://www.fiduso.dk/skraekeksempler.htm
Og de andre sider p sitet er ogs ganske tankev kkende....

otto (26-01-2002)
Kommentar
Fra : otto


Dato : 26-01-02 12:17

Hej
Tak for jeres respons - men der er desværre ikke nogle af forslagene som
fungerer ..
jeg skulle ellers mene at dette var ligeud ad landevejen .. men jeg kan
simpelthen ikke få det til at virke ! Min variabel fra formen fungerer fint
og skrives jo også til siden - men indsætte den i SQL dur altså ikke

hilsen Otto
<knud@berggreen.invalid> wrote in message
news:3c528ad2$2$xahq$mr2ice@news.stofanet.dk...
> In <KOt48.5412$Eu2.678707@news010.worldonline.dk>, on 01/26/2002
> at 09:27 AM, "otto" <leholt@worldonline.dk> said:
>
>
> >Hej
> >Jeg har prøvet snart sagt alt ., men det virker ikke.
>
> >Hvordan sorterer jeg data fra en db-tabel, efter brugerens valg ?
>
> > ' vores forespørgsels string defineres
> >RS.Open="Select * FROM links ORDER BY '" & sorter & "' "
>
> Hvis sorter=name så vil indholdet i RS.Open blive
> Select * FROM links ORDER BY 'name'
> Det skal jo være
> Select * FROM links ORDER BY name
>
> så prøv
>
> RS.Open="Select * FROM links ORDER BY " & sorter
>
> /Knud
>
>
> --
> Skr keksempler p splittede, sammensatte ord:
http://www.fiduso.dk/skraekeksempler.htm
> Og de andre sider p sitet er ogs ganske tankev kkende....



Jakob Andersen (26-01-2002)
Kommentar
Fra : Jakob Andersen


Dato : 26-01-02 13:51

"otto" <leholt@worldonline.dk> wrote in message
news:Nhw48.5471$Eu2.689279@news010.worldonline.dk...
> Hej
> Tak for jeres respons - men der er desværre ikke nogle af forslagene som
> fungerer ..
> jeg skulle ellers mene at dette var ligeud ad landevejen .. men jeg kan
> simpelthen ikke få det til at virke ! Min variabel fra formen fungerer
fint
> og skrives jo også til siden - men indsætte den i SQL dur altså ikke

Prøv at kigge her: <http://www.4guysfromrolla.com/webtech/020701-1.shtml>
der skulle være rigeligt med hjælp om emnet.

--
Jakob Andersen



Tony Lorentzen (26-01-2002)
Kommentar
Fra : Tony Lorentzen


Dato : 26-01-02 14:22

"otto" <leholt@worldonline.dk> wrote in message
news:Nhw48.5471$Eu2.689279@news010.worldonline.dk...
> Hej
> Tak for jeres respons - men der er desværre ikke nogle af forslagene som
> fungerer ..
> jeg skulle ellers mene at dette var ligeud ad landevejen .. men jeg kan
> simpelthen ikke få det til at virke ! Min variabel fra formen fungerer
fint
> og skrives jo også til siden - men indsætte den i SQL dur altså ikke

Lige et hurtigt spørgsmål... Virker det hvis du laver den direkte på
databasen - udenom ASP?

Prøv evt. at lægge SQL'en ind i en strengvariabel du skriver ud så du kan se
at det er rigtigt.

Og - nu har du vel felter i databasen der hedder "dato", "fag" og "emne"
ikke?

Hvis det stadig ikke virker så send mig ASP filen og databasen på min mail -
så kigger jeg lige hurtigt på det.

Mvh,

Tony Lorentzen
tony@lorentzen.com



Claus Jensen (27-01-2002)
Kommentar
Fra : Claus Jensen


Dato : 27-01-02 20:01


> Hej
> Jeg har prøvet snart sagt alt ., men det virker ikke.
>
> Hvordan sorterer jeg data fra en db-tabel, efter brugerens valg ?

Det er muligvis ikke den mest elegante løsning, men det virker:

Opret en Case for hver sorteringsmulighed ,
lav links på f.eks hver tabelkolonne, hvor link henviser til
den relevante Case.
Se eksempel her
http://www.friserverplads.dk/cludi/webmaster/asp3.asp

Med venlig hilsen
Claus Jensen




Tony Lorentzen (28-01-2002)
Kommentar
Fra : Tony Lorentzen


Dato : 28-01-02 07:58

Hej alle,

Problemet er løst og opstod fordi der var fejl i SQL strengen

Hilsner,

Tony

"otto" <leholt@worldonline.dk> wrote in message
news:KOt48.5412$Eu2.678707@news010.worldonline.dk...
>
> Hej
> Jeg har prøvet snart sagt alt ., men det virker ikke.
>
> Hvordan sorterer jeg data fra en db-tabel, efter brugerens valg ?
>
> Jeg har lavet en FORM hvor bruger vælger at sortere data fra DB
> denne variabel kaldes strOrder og fungerer fint , men jeg kan ikke få den
> til at virke i min forespørgsel .
>
> koden med formular og forespørgsel ser sådan ud:
> se siden på: http://213.237.9.227/fhf-link/showall.asp
>
> <Form action="<%=Request.ServerVariables("Script_NAME")%>" method="Post">
> Sorter listen efter :
> <SELECT NAME="strOrder">
> <Option Selected>Sorter efter</option>
> <Option value="fag">Fag</Option>
> <Option value="emne">Emne</Option>
> <Option value="dato">Dato</Option>
> </select>
> <input type="submit" Value="Sorter liste"></input>
>
> ' vores recordset oprettes med static cursor
> DIM sorter
> sorter=Request("strOrder")
>
> Set RS = Server.CreateObject("ADODB.Recordset")
> RS.CursorType = adOpenStatic
> RS.ActiveConnection = Con
>
>
> ' vores forespørgsels string defineres
> RS.Open="Select * FROM links ORDER BY '" & sorter & "' "
>
>
> Response.Write"Der er indtastet:&nbsp;&nbsp;<b>" & RS.RecordCount
> response.write"</b> links. Listen er sorteret efter <b> " & sorter
>
> med venlig hilsen
> Otto - og på forhånd tak for din tid !
>
> --
> _____________________________________________
> Otto Leholt
> Baggesensgade 19 , 2200 Copenhagen N
> tlf 3537 4928 mobil 2076 9094
> http://www3.brinkster.com/otto/home.asp
> _____________________________________________
>
>
>



Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408561
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste