DataAdapter Designer und Parameterübergabe

29/01/2008 - 13:17 von Manfred Koschinski | Report spam
Hallo,

mal wieder ein so spezielles Problem, dass bestimmt niemand eine Atnwort
weiß... Aber vielleicht kann der eine oder andere MVP meine Problem
wenigstens an Microsoft weitergeben, falls es keine Lösung dafür gibt.

Es geht darum, dass ich im DataSet-Designer von VS 2008 eine
Datenbanktabelle per Drag/Drop eingefügt hat, für die das VS auch gleich
einen DataAdapter erstellt hat. Im Prinzip müsste ich also nur die
Fill-Methode aufrufen und schon hab ich meine Daten.
Jetzt will ich aber mit der Fill-Methode auch ein Argument mitgeben, um
nàmlich meine Spalte "PersonID" (integer) für einen bestimmten Wert zu
filtern.
Kein Problem: Ich gehe im Adapter-Designer auf "Configure" und gebe von Hand
am Ende des SQL-Kommandos "WHERE PersonID=@personID" ein und beende den
Wizard ordentlich. Anschließend steht mir eine Fill-Methode zur Verfügung,
die als Argument einen integer-Wert erwartet.

Jetzt aber die Problematik: Ich will nicht auf einen einzigen Wert filtern,
sondern eine Werteliste. Dafür schreibt man im SQL z.B. "WHERE PersonID IN
(1,2,5,8)". Jetzt hab ich analog im DataAdapter-Designer das hier
eingegeben:
"WHERE PersonID IN (@personIDList)". Aber da erzeugt immer Konflikte, denn
als @personIDList wird immer ein integer-Wert erwartet, kein string.

Ich hab wirklich alles versucht, ich kriegs einfach nicht hin. Hat jemand
ein "How-To-Step-By-Step" für mich, oder gibt es tatsàchlich keine Lösung
für mein Problem?

Vielen Dank !!!!
 

Lesen sie die antworten

#1 Frank Dzaebel
30/01/2008 - 08:20 | Warnen spam
Hallo Manfred,

Jetzt aber die Problematik: Ich will nicht auf einen einzigen Wert
filtern, sondern eine Werteliste. Dafür schreibt man im SQL z.B. "WHERE
PersonID IN (1,2,5,8)".



Du meinst etwas wie:

[Passing a list/array to SQL Server stored procedure]
http://vyaskn.tripod.com/passing_ar...edures.htm

Wenn man Listen als Parameter zulassen würde, sàhe ich
die Gefahr der SQL-Injection.


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen