Forums Neueste Beiträge
 

Gefilterte daten aus Dataset-Tabelle

05/05/2009 - 22:30 von Olli Goessler | Report spam
Hi Leute,

ich hoffe Ihr koennt mir wieder einmal helfen, vorab vielen Dank.

Mein Problem (FW20/VS 2005) besteht u/a darin das ich mit DB-Aktionen (hier
Access 2003) keine Erfahrung habe und mir die Codegenerierung vom VS2005
nicht ganz einleuchtet (transparent ist):

Zum Problem:
Ein (Access 2003) DB-Dataset-Abbild mit X Tabellen wird mittels des VS2005
problemlos generiert, pro Tabelle kann man seine TableAdapter mit Fill,
Update, Delete, Insert erstellen, super.
Wenn ich nun aber aus einer Tabelle der DB (per TableAdapter) nur gewisse
Tuples (z.B. wenn a=Spalte1 und b=Spalte2..) haben mochte und eine neue
Abfrage (SQL) dem entsprechenden Adapter hinzufuege (Select), danach den
Abfrage-Generator anwerfe und als Filter zum Beispiel Spalte1 und Spalte2
angebe generiert das VS2005 mir eine Methode (dessen Namen ich vergeben muss
z.B."GetDataBySPAndEP") ohne Parameter.
In meiner Ideal-Vorstellung (ich weiss inwischen das dies ein Wunschtraum
ist -:))) wird diese Methode mit den Filter-Parametern generiert, welche
ich uebergeben kann um dann, eben mittels dieser Filter, eine neue Table zu
bekommen.

Per Recherche im Netz habe ich leider immer die typischen Loop's (foreach...
usw) gefunden, aber das kann es nicht sein. Warscheinlich sehe ich den Wald
vor lauter Baeumen nicht, es muss doch moeglich sein per SQL genau die
Tupels retour zu bekommen die man (mit Filter usw...) haben will, auch mit
dem Dataset/Adapter..usw... ?
Oder ist es besser das haendisch zu machen (dann weiss ich wenigstens was
passiert :-))?

Vielen Dank fuer Eure Geduld und Hilfe
Liebe Gruesse
Olli
 

Lesen sie die antworten

#1 Frank Dzaebel
06/05/2009 - 07:45 | Warnen spam
Hallo Olli,

z.B."GetDataBySPAndEP") ohne Parameter. In meiner Ideal-Vorstellung (ich
weiss inwischen das dies ein
Wunschtraum ist -:))) wird diese Methode mit den Filter-Parametern
generiert, welche ich uebergeben kann um dann, eben mittels dieser
Filter, eine neue Table zu bekommen.



Also die Parameters sind ja über Designer
leicht der Abfrage hinzuzufügen.
Aber Du musst bedenken, dass Du auf einem
festen typsicheren Schema der Tabelle arbeitest.
Du kannst zwar auch weniger (Spalten) zurückliefern,
als gefordert, aber die nicht gefüllten Splaten bleiben
dann in den Zeilen dieser Tabelle eben unbelegt.

Man kann diese Abfragen ggf. auch schon in
der DB über Views realisieren in anderen DBs
über Stored Procedures oder Funktionen etc.
machen, aber Du möchtest ja Spalten-Namen
als Select-Parameter, was zwar syntaktisch möglich
wàre, aber nicht Dein gewünschtes Ergebnis
ergàbe.

Dazu würde ich also über SqlCommand
gehen, etwa so:

[Abrufen von Daten mit einem 'DataReader' (ADO.NET)]
http://msdn.microsoft.com/de-de/lib...3afyz.aspx

[Gewusst wie: Erstellen und Ausführen einer SQL-Anweisung, die Zeilen
zurückgibt]
http://msdn.microsoft.com/de-de/lib...x3b4f.aspx


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

Ähnliche fragen