Autor Beitrag
AxelA
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 08.02.12 11:12 
Ziel ist es das nach allen Vorkommnissen eines Strings in einer Spalte der Tabelle (tbl_tmpBeladung)in der Datenbank zu suchen und alle Datensätze zu löschen
Ich greife auf die Datenbank (Acces) über ein Dataset, Table Adapter usw darauf zu.

Nun Suche ich mit :
ausblenden C#-Quelltext
1:
DataRow[] rows = this.chargen_DMCDataSet.tbl_tmpBeladung.PalettennummerColumn.Table.Select("Palettennummer LIKE '"+Zellinhalt+"'" );					

Diese Spalte hat keinen Primärschlüssel (logisch sonnst würde der String ja nicht öfter vorkommen können)
Sonnst würde sich ja auch die Findby-Methode anbieten.


Die Abfrage funktioniert auch soweit, in aber wie Lösche ich nun genau alle diese gefundenen Zeilen aus der Datenbank raus ?

bzw wie kann ich ..... aus diesem Array rows[] das ich zurück bekomme die einzelnen Zeilenpositionen ermitteln ?

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 08.02.12 11:18 
Wofür brauchst du die Zeilenpositionen? Warum nicht einfach Delete an den DataRows aufrufen?
AxelA Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 08.02.12 11:38 
Ja Stimmt brauche ich nicht wirklich, hätte mich nur nebenbei interessiert.

Aber am Delet scheitert es. (seh den Wald vor Bäumen nicht)

Ich hab keine Ahnung wie ich nun dieses Array rows[] an eine DELET methode übergeben kann... ????
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Mi 08.02.12 12:42 
Jede Row in deinem Array hat die Delete Methode. Kein Grund die zu suchen oder der was zu übergeben. Einfach aufrufen und dann die ursprüngliche Datatable(die in chargen_DMCDataSet) wieder durch den Tableadapter jagen oder gleich das ganze Dataset.
AxelA Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 08.02.12 13:10 
Bezugnemend auf meine Abfrage in der Einleitung: DataRow[] rows = ...... Select.... Like....

lässt sich mit:
ausblenden C#-Quelltext
1:
foreach (DataRow row in rows) row.Delete();					

das gefundene ganz einfach Löschen.

Moderiert von user profile iconTh69: C#-Tags hinzugefügt