inspiroMedlem sedan sep. 2005673 inlägg Försöker skicka in en parameter som avgör vad den ska sortera på men jag får bara fel, har provat flera exempel från nätet men inget funkar??
ORDER BY CASE WHEN @SortOrder = 1 THEN (Date DESC) ELSE (Date) END
Får felet "felaktig parameter" när jag kör frågan i sql-server 2005 express.
emissionMedlem sedan dec. 19996 721 inlägg ORDER BY CASE WHEN @SortOrder = 1 THEN -CONVERT(float,Date) ELSE CONVERT(float,Date) END
inspiroMedlem sedan sep. 2005673 inlägg Hm, näe får inte till det... står bara felaktig parameter när jag kör frågan i sql-server (man får dock fram rutan där man kan skriva in värdet på parametern).
Om det spelar någon roll så om sortorder är 1 så försöker jag sortera på en datumkolumn, annars en int-kolumn. Har försökt med convert på bara den ena eller den andra men jag får samma fel. Tar jag bort case-satsen så funkar det att sortera på respektive kollumn hur bra som helst!
inspiroMedlem sedan sep. 2005673 inlägg Har gjort en superenkel fråga med en dynamisk sortering, får samma fel:
SELECT ID
FROM Objects
ORDER BY CASE WHEN @SortOrder = 1 THEN Date ELSE ID END
LarsGMedlem sedan dec. 200012 464 inlägg SELECT ID
FROM Objects
ORDER BY CASE WHEN @SortOrder = 1 THEN Date END,
case when @SortOrder <> 1 then id end
inspiroMedlem sedan sep. 2005673 inlägg Får samma fel... "felaktig parameter"... skumt detta...
@ndersMedlem sedan juni 200032 969 inlägg Du har inte glömt att definiera @SortOrder i din SQL-fråga då?
inspiroMedlem sedan sep. 2005673 inlägg Hm, det verkar funka ändå... jag stoppade in koden i frågan i en SP och körde den från min applikation och då gick det utan problem! Men när jag testar samma fråga direkt i esl server express så blir det "felaktig parameter". Jag fyller ju i exakt samma parameter-värde... Skumt sa badkaret!
inspiroMedlem sedan sep. 2005673 inlägg
@nders skrev:
Du har inte glömt att definiera @SortOrder i din SQL-fråga då?
Nej, och skriver jag @sortorder i själva frågan så får man ju upp en ruta där man ska ange värdet på sortorder.... men oavsett jag skriver 1, 0 false eller nåt annat så får jag felaktig parameter.
@ndersMedlem sedan juni 200032 969 inlägg När du kör frågan direkt i SQL server express har du alltså deklarerat @SortOrder som en integer och tilldelat den ett värde? Om du inte har gjort det, är det inte konstigt att ett värde efterfrågas.
edit: det är dock möjligt att det skiljer i HUR du ställer frågorna i Management Studio. Så; var ställer du frågorna? :)
inspiroMedlem sedan sep. 2005673 inlägg Näe jag har inte deklarerat den iofs... men jag hade ett gäng andra variabler också och de har alltid fungerat.
Jag brukar klicka på "new query" och då får man ett fönster där man kan skriva frågor själv, tycker de här guiderna och det automatiska "sql-frågebyggandet" är lite småkrångligt... men det är kanske dags att lära sig hur man använder dem. Eller vad tycker ni, är det bättre att använda verktygen som finns för att göra frågor eller skriver ni själva? Det är väl lite som att skriva program i notepad att inte använda dem kanske...
@ndersMedlem sedan juni 200032 969 inlägg
Det är väl lite som att skriva program i notepad att inte använda dem kanske...
Nej, det tycker jag inte. Jag tycker det snarare är som att bara använda WYSIWYG-läget i Dreamweaver och låta dw sköta all kod, jämfört med att använda vilke färgkodande editor som helst. Jag skriver "alltid" SQL-frågorna för hand.
Fungerar det om du deklarerar variabeln först? Det borde det.
inspiroMedlem sedan sep. 2005673 inlägg Japp, då fungerade det. Konstigt att jag inte råkat ut för detta innan bara, har aldrig deklarerat variabler förut när jag bara testat sql-frågor.
Tack för all hjälp!