Ik wil zoiets als het volgende aan de praat krijgen met VB en ADO icm met SQL Server:
Op de plek van het vraagteken moeten 1 of meerdere integers komen (maar strings moeten ook kunnen).
Ik ben bijna op het punt dat ik denk dat dit niet met ADO kan. Ik ben er al achter dat AdArray ergens anders voor bedoeld is.
Bij bovenstaand voorbeeld stuurt ADO het volgende op naar SQL Server (Profiler is niet alleen om te profilen
)
Heeft iemand dit al eerder bij de hand gehad, want ik sta op het punt m'n eigen parameter-engine te gaan maken met sp_executesql, en dat lijkt me eigenlijk toch wel overdreven...
De code is zoiets:
en bij meerdere parameters
Hierbij gaat ADO over z'n nek (er wordt niets verstuurd naar SQL Server)
code:
1
| SELECT x FROM y WHERE z IN (?) |
Op de plek van het vraagteken moeten 1 of meerdere integers komen (maar strings moeten ook kunnen).
Ik ben bijna op het punt dat ik denk dat dit niet met ADO kan. Ik ben er al achter dat AdArray ergens anders voor bedoeld is.
Bij bovenstaand voorbeeld stuurt ADO het volgende op naar SQL Server (Profiler is niet alleen om te profilen
code:
1
| SELECT x FROM y WHERE z IN @P1 |
Heeft iemand dit al eerder bij de hand gehad, want ik sta op het punt m'n eigen parameter-engine te gaan maken met sp_executesql, en dat lijkt me eigenlijk toch wel overdreven...
De code is zoiets:
code:
1
2
3
| cmd.CommandType = adCmdText
cmd.CommandText = "SELECT idClient FROM client WHERE idClient IN (?)"
cmd.Parameters.Append cmd.CreateParameter("id1", adInteger, adParamInput, 4, 20) |
en bij meerdere parameters
code:
1
2
3
4
| cmd.CommandType = adCmdText
cmd.CommandText = "SELECT idClient FROM client WHERE idClient IN (?,?)"
cmd.Parameters.Append cmd.CreateParameter("id1", adInteger, adParamInput, 4, 20)
cmd.Parameters.Append cmd.CreateParameter("id2", adInteger, adParamInput, 4, 25) |
Hierbij gaat ADO over z'n nek (er wordt niets verstuurd naar SQL Server)