webForumDet fria alternativet

Parametriserad fråga med IN-parameter

Databaser & SQL

1 svar · 488 visningar · startad av Engine^

Medlem sedan dec. 20003 887 inlägg
Frågan#1

Jag undrar lite om det går att göra följande

[i]Command[/i].CommandText = "SELECT apa FROM djungel WHERE trees IN (?)"

set [i]RecordSet[/i] = [i]Command[/i].Execute( , array( "1,2,3,4" ) )

Alltså att skicka in en IN-klausul till en parameteriserad fråga - är det möjligt?

Jag har läst lite här och var att det inte är bra, men ingenstans en förklaring till varför eller om det ens fungerar.

Medlem sedan dec. 19996 721 inlägg
#2

Nej, man kan inte skicka in arrayer som parametrar. Men, eftersom du bygger ihop SQL-strängen själv (inte en SP, då är det kört) så kan du plantera in lika många parameter-platser som du har array-element


trees=array( 1,2,3,4 )

Command.CommandText = "SELECT apa FROM djungel WHERE trees IN (" & mid(replace(string(ubound(trees)+1,"#"),"#",",?",2) & ")"

set RecordSet = Command.Execute( , trees  )
253 ms totalt · 3 externa anrop · v20260731065814-full.767b4345
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)