du skall inte ha procenttecken eller apostrofer med i order by, utan endast kolumnnamnet.
select * from tblBlah order by fldBlah asc
mvh,
12 svar · 416 visningar · startad av JaktJanne
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 för att klargöra vad som blir fel.
du skall inte ha procenttecken eller apostrofer med i order by, utan endast kolumnnamnet.
select * from tblBlah order by fldBlah asc
mvh,
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..."
vad gör man när sql-frågor inte fungerar?
jo, man:
kollar så att fält/tabellnamn verkligen stämmer, om de gör det,
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.
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
Varför ett ; på slutet av SQL-satsen?
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
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
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.
Aha, skall försöka lägga det på minnet
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
... som ju dock är typ motsatsen...