webForumDet fria alternativet

Parametriserad fråga med IN-parameter

1 svar · 488 visningar · startad av Engine^

Engine^Medlem sedan dec. 20003 887 inlägg
#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.

emissionMedlem 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  )
131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)