Hi,
hab da eine Tabelle im ICaDts und eine im DS04Dts. In DS04Dts werden Daten importiert. Nun schaufel ich die Datensätze von DS04Dts nach ICaDts.
Eine Childtabelle bekommt neue oder geänderte Datensätze. Es sollen aber natürlich kleine Doubletten entstehen, also prüfe ich vor dem AddMeineTabelleRow() auf Vorhandensein:
Das ist jetzt kein Update, sondern Löschen und Anfügen.
Und es funktioniert nicht, wenn die Childtabelle mehrere Datensätze zum Parentkey enthalten darf, denn Remove löscht ja nur genau eine Row.
Wie macht man ein Update einer Row?
Wie löscht man Rows, also quasi "delete from tab where feld=wert"?
Ich habe da mal etwas ausprobiert:
Das wirft eine Exception, System.InvalidOperationException: "Die Sammlung wurde geändert; möglicherweise wurde die Enumeration nicht ausgeführt."
Scheint so, als würde das Remove den Ast absägen, auf dem der Algorithmus sitzt
hab da eine Tabelle im ICaDts und eine im DS04Dts. In DS04Dts werden Daten importiert. Nun schaufel ich die Datensätze von DS04Dts nach ICaDts.
Eine Childtabelle bekommt neue oder geänderte Datensätze. Es sollen aber natürlich kleine Doubletten entstehen, also prüfe ich vor dem AddMeineTabelleRow() auf Vorhandensein:
VB.NET-Quellcode
- If ICaDts.SD_frau.Where(Function(x) x.Id_ICa = rwICa.Id_ICa).Count = 1 Then
- 'rwICa.Id_ICa ist der Key in der Parenttabelle
- TextBoxLog.Text = "Die SD_frau Daten sind bereits vorhanden und werden aktualisiert." & vbCrLf & TextBoxLog.Text
- Dim rwCheck = ICaDts.SD_frau.Where(Function(x) x.Id_ICa = rwICa.Id_ICa).ElementAt(0)
- ICaDts.SD_frau.RemoveSD_frauRow(rwCheck)
- rwCheck = Nothing
- End If
- ICaDts.SD_frau.AddSD_frauRow(rwICa, rwDS04_frau.frau_Vorname, rwDS04_frau.frau_Nachname)
Das ist jetzt kein Update, sondern Löschen und Anfügen.
Und es funktioniert nicht, wenn die Childtabelle mehrere Datensätze zum Parentkey enthalten darf, denn Remove löscht ja nur genau eine Row.
Wie macht man ein Update einer Row?
Wie löscht man Rows, also quasi "delete from tab where feld=wert"?
Ich habe da mal etwas ausprobiert:
Das wirft eine Exception, System.InvalidOperationException: "Die Sammlung wurde geändert; möglicherweise wurde die Enumeration nicht ausgeführt."
Scheint so, als würde das Remove den Ast absägen, auf dem der Algorithmus sitzt
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „OliverSte“ ()