korrekte Parametereinstellung für Command-Objekt bei IN(...)

01/02/2009 - 14:37 von Andy Dorwald | Report spam
Hallo NG,

ich schaffe es nicht, die korrekte Parametereinstellung für ein
Command-Objekt zu definieren, wenn ich eine Werteliste habe.

Ich möchte folgendes tun:

SELECT COUNT(*) FROM Tabelle WHERE ID IN(4,9,3,7,91,112,117)

...und habe u. a. folgendes probiert:

.CommandText = "SELECT COUNT(*) FROM Tabelle WHERE ID IN(?)"
...
.Parameters.Append .CreateParameter("@D", adVariant, adParamInput)

...übergeben hatte ich die Werliste dann wie folgt:




.Parameters.Item(0).Value = "4,9,3,7,91,112,117"








...aber das klappt wohl nicht. Es kommt IMMER 0 zurück.

Kann mir jemand bitte sagen, was ich falsch mache?

VG
Andy
 

Lesen sie die antworten

#1 Peter Fleischer
01/02/2009 - 15:19 | Warnen spam
"Andy Dorwald" schrieb im Newsbeitrag
news:gm48jt$rc7$01$

ich schaffe es nicht, die korrekte Parametereinstellung für ein
Command-Objekt zu definieren, wenn ich eine Werteliste habe.

Ich möchte folgendes tun:

SELECT COUNT(*) FROM Tabelle WHERE ID IN(4,9,3,7,91,112,117)

...und habe u. a. folgendes probiert:

.CommandText = "SELECT COUNT(*) FROM Tabelle WHERE ID IN(?)"
...
.Parameters.Append .CreateParameter("@D", adVariant, adParamInput)

...übergeben hatte ich die Werliste dann wie folgt:

.Parameters.Item(0).Value = "4,9,3,7,91,112,117"








...aber das klappt wohl nicht. Es kommt IMMER 0 zurück.

Kann mir jemand bitte sagen, was ich falsch mache?



Hi Andy,
eine Werteliste kann man nicht als Parameter übergeben. Es gibt
Alternativen, die von der nutzbaren Technologie abhàngen. Am nahesten wàre
ein SQL Server Projekt in .NET, welches eine übergebene Zeichenkette mit den
ID's bekommt und daraus dann über eine temporàre Tabelle mit Join die
Ergebnismenge liefert.

Viele Grüsse
Peter

Ähnliche fragen