Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:25 Der er 17 kommentarer og
1 løsning

sortering via SQL

Hvad går der galt her. Jeg kan godt få den til at skrive sort ud nede i response.write(), men den sætter ikke værdien ind i SQL'en. Hvis jeg skriver en fast værdi i order by, så virker det fint, men det er ikke det jeg vil

    sort = request.querystring("order")   
   
    if sort = "" then

        sort = fnavn
    end if
   
   
    response.write(sort)
   
    set rs = Conn.Execute("SELECT * FROM kontakt order by '"&sort&"'")
Avatar billede keysersoze Ekspert
30. april 2002 - 10:26 #1
set rs = Conn.Execute("SELECT * FROM kontakt order by " & sort & "")
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:30 #2
så får jeg en sql fejl
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:31 #3
når den læser siden ind første gang
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:32 #4
der må være noget galt med min if
Avatar billede keysersoze Ekspert
30. april 2002 - 10:34 #5
så prøv at udskriv din sql og se hvordan resultatet ser ud
Avatar billede luzk Nybegynder
30. april 2002 - 10:35 #6
det er din SQL der er galt, for der skal ikke plin (') om en sort by:

set rs = Conn.Execute("SELECT * FROM kontakt order by " & sort)
Avatar billede luzk Nybegynder
30. april 2002 - 10:35 #7
pling even
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:37 #8
sort bliver ikke værdisat første gang siden bliver kaldt. Først når når den får en værdi via request.querystring("order"). Det er det jeg prøver at løse via den if
Avatar billede _just4fun_ Nybegynder
30. april 2002 - 10:37 #9
Jeg går ud fra kolonnenavnet der skal sorteres efter er tekst og ikke et nummer....
så flg. skal se sådan ud:
  if trim(sort) = "" then
        sort = "fnavn"
    end if

Og så er det altid en god ide at lave:

sql="SELECT * FROM kontakt order by '" & sort & "'"
set rs = Conn.Execute(sql)

På den måde kan man altid skrive sql ud for at se om det giver mening. Jeg synes at vide at der sakl være mellemrum mellem & 'er og det andet
Avatar billede _just4fun_ Nybegynder
30. april 2002 - 10:38 #10
forsøg på et svar ;-)
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:43 #11
sort er åbenbart ikke ""
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:45 #12
returnerer request.querystring("order") ikke en tom streng ("") hvis den er tom
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:53 #13
jeg kan ikke se hvad søren der er galt
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:55 #14
sort er tom første gang siden bliver kaldt
Avatar billede eagleeye Praktikant
30. april 2002 - 10:55 #15
prøv som keysersoze også har skrevet at udskrive din sql og så smid resultat her:

Response.write "SELECT * FROM kontakt order by "&sort
set rs = Conn.Execute("SELECT * FROM kontakt order by " & sort)
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 10:55 #16
men den bliver ikke værdisat i if'en
Avatar billede eagleeye Praktikant
30. april 2002 - 10:56 #17
Såprøv:

if Len("" & sort & "") = 0 then
  sort = "fnavn"
end if
Avatar billede mikmakmuk Nybegynder
30. april 2002 - 13:42 #18
tak
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