webForumDet fria alternativet

Order By problem

12 svar · 390 visningar · startad av JaktJanne

JaktJanneMedlem sedan feb. 20001 507 inlägg
#1

Har följande kod i början på sidan:

Dim val
If Request.Querystring("sort") = "" Then
val = "ort"
ELSE
val = Request.Querystring("sort")
End If

och när jag skall använda variabeln val så blir det inget.

Visa = "SELECT * FROM [aterfors] ORDER BY '%"&val&"%';"

Räcker det md kod :q för att klargöra vad som blir fel.

------------------
Utan signatur för tillfället.

@ndersMedlem sedan juni 200032 969 inlägg
#2

du skall inte ha procenttecken eller apostrofer med i order by, utan endast kolumnnamnet.

select * from tblBlah order by fldBlah asc

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

[Redigerat av @nders den 05 jun 2001]

JaktJanneMedlem sedan feb. 20001 507 inlägg
#3

Hjälper ej :)
Det blir ingen Order By alls utan datan sorteras efter ID som jag inte är intresserad av i detta fallet

Felmeddelande "för få parametrar..."
------------------
Utan signatur för tillfället.

[Redigerat av JaktJanne den 05 jun 2001]

@ndersMedlem sedan juni 200032 969 inlägg
#4

vad gör man när sql-frågor inte fungerar?

jo, man:

  1. kollar så att fält/tabellnamn verkligen stämmer, om de gör det,

  2. skriver ut sql-frågan med response.write innan execute och ger till sina vänner på webforum som kan se vad som är fel. :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

JaktJanneMedlem sedan feb. 20001 507 inlägg
#5

På fråga 1 svarar jag , det är rätt.
På fråga 2 så hittade jag felet :), tänkte aldrig på att göra det men det lösta sig till slut.
Det skulle vara

Visa = "SELECT * FROM [aterfors] ORDER BY "&val&";"

Tackar

------------------
Utan signatur för tillfället.

RossifumiMedlem sedan okt. 20001 558 inlägg
#6

Varför ett ; på slutet av SQL-satsen?

------------------
"When the 500 isn't right, you're in hell, when a Superbike isn't right, it's ok"
Valentino Rossi, Nastro Azurro Honda

MinOrkMedlem sedan aug. 2000234 inlägg
#7

I SQL standarden ska det vara ett ; i slutet på uttrycket. Fungerar oftast utan.

I stället för att:
If Request.QueryString("sort") = "" Then

använd:
If Len(Request.QueryString) < 0 Then

Löser iofs inte ditt problem med SQL frågan, men det går snabbare att göra så. Kanske tjänar du en microsekund på att göra det ;)

JaktJanneMedlem sedan feb. 20001 507 inlägg
#8

Funkar utan ;
Vad står Len för egentligen, är det bättre eller är det en smaksak om man bara vinner en bråkdel av en sekund :q

------------------
Utan signatur för tillfället.

LarsGMedlem sedan dec. 200012 464 inlägg
#9

I SQL standarden ska det vara ett ; i slutet på uttrycket.

Nej, det skall det inte. ; används enbart som avgränsare mellan statement, inte som avslutning enligt ISO/ANSI sql.

Len = antal tecken i en sträng.

------------------
essentitia preter non sans multiplicandum

JaktJanneMedlem sedan feb. 20001 507 inlägg
#10

Aha, skall försöka lägga det på minnet :e

------------------
Utan signatur för tillfället.

VideMedlem sedan dec. 19998 577 inlägg
#11

Koppla det till ordet det är en förkortning på... :)

Len = Length

------------------
Vide rox = new Vide();
rox.learn("C#");

webeye.nu

[Redigerat av Vide den 06 jun 2001]

icaaqMedlem sedan okt. 20005 273 inlägg
#12

för att spara två tangent tryckningar så behöver man bara skriva:

If Len(Request.QueryString) then

istället för

If Len(Request.QueryString) < 0 Then

:)

------------------
ibland tror jag att jag kan lite för lite än vad jag kan ....

@ndersMedlem sedan juni 200032 969 inlägg
#13

... som ju dock är typ motsatsen...

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

138 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)