Jag har en SQL-fråga i en tableadapter typ: Har haft samma problem och det jag kom fram till då var att bygga en SQL funktion som tar in en lista och sedan splittar denna med en tabell som ett rutur värde. Eller så skapar du en temporär tabell, fyller den, och kör med någon join. Hej, hm antar det här är ett problem som har något med 2.0 att göra typ? Hej,Parametrisera IN-sats i en SQL fråga
SELECT YadaID, Namn
FROM Yada
WHERE YadaID in (8,9,3)
Jag skulle vilja skicka in (8,9,3) som en parameter, dvs något liknande:
SELECT YadaID, Namn
FROM Yada
WHERE YadaID in @myIDList <-- detta funkar inte
Antalet värden i listan kan variera.
Miljön är asp.net 2.0
Tacksam för tips.
/AndersSv: Parametrisera IN-sats i en SQL fråga
Typ:
SELECT YadaID, Namn
FROM Yada
WHERE YadaID in udf_split( @myIDList )
eller så skriver du din SQL sats utan parameter.
typ:
sSQL = "SELECT YadaID,Namn FROM Yada WHERE YadaID in (" + sDinLista + ")";Sv:Parametrisera IN-sats i en SQL fråga
Sv: Parametrisera IN-sats i en SQL fråga
Använd datatypen XML på din parameter och sedan XQuery till att hämta ut värden från din xml.
MVH
HerbjörnSv: Parametrisera IN-sats i en SQL fråga
för hade din fråga varit en sträng (som den är i mina sqlfrågor)
hade det ju inte varit något problem:
myid = "7,8,9"
dim com as sqlcommand
com.commandtext = "SELECT YadaID, Namn FROM Yada WHERE YadaID in (@myIDList)"
com.parameter.add("@myidlist",myid).sqldatatype = sqldatatype.varchar
eller nåt sånt ( i vb dårå)Sv: Parametrisera IN-sats i en SQL fråga
Jag har nu uppdaterat min artikel om dataparametrar med det du frågade efter. Där finns även ett kodexempel.
Artikel [Dataparametrar i ADO.NET]
MVH
Herbjörn