webForumDet fria alternativet

Arrays som parameter i SQL

4 svar · 460 visningar · startad av mng0

mng0Medlem sedan juni 20066 inlägg
#1

Min sql-sats ser ut följande:

SelectCommand="SELECT * FROM Table1 WHERE Field1 IN @target"

Såhär ser min parameter ut:

<asp:ControlParameter Name="target" ControlID="CheckBoxList1" PropertyName="SelectedValue" />

Jag vill alltså visa samtliga poster från tabel1 där field1 stämmer överens med någon va de checkboxar jag kryssat i. I detta fall får jag syntax error i sql satsen. "near @target".

Någon som vet hur man hanterar arrays i sql?

andreas_lindhMedlem sedan jan. 20011 140 inlägg
#2

Om det är i sql server

EXEC('SELECT * FROM tabell WHERE ID IN (' + @target + ')')

Vet inte om det fungerar i andra databaser

mng0Medlem sedan juni 20066 inlägg
#3

Jo nu fick jag inte syntaxfelet. Men de är fortfarande bara den checkbox som man klickade i senaste som räknas. Jag vill att alla checkboxar ska räkna som en array. Hur gör man?

LukaspojkenMedlem sedan maj 20011 312 inlägg
#4

Så här borde du också kunna skriva
EXEC('SELECT * FROM tabell WHERE ID IN (@target)')

mng0Medlem sedan juni 20066 inlägg
#5

Ja tack de var så jag skrev. Men problemet ligger inte i SQL-satsen längre utan i parametern. Jag vill att alla ikryssade checkboxar ska räknas med och inte bara den senaste man klicka på.

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