DataSet vor Update säubern

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hallo, ich habe keine gute Idee was in dieser Konstellation die beste
Vorgehensweise ist:

Ich lese eine flache (kein XML) Textdatei in ein DataSet, und normalisiere
zurück auf 2 Tabellen (Parent-Child Relation), um dieses dann irgendwann in
eine DB zu schreiben.
Es gibt Zeilen, in denen schon mal ein Child ungültig ist, diese möchte ich
nicht in die Datenbank übernehmen (den gesamten Parent mit allen seinen auch
vielleicht später in der Datei kommenden Childs nicht!)

Wie?
Sofort, wenn der Child als ungültig erkannt wurde, den Parent im Dataset
LÖSCHEN geht nicht, denn die nächste Zeile könnte einen gültigen Child
enthalten. Dieser soll aber auch nicht in die DB. Aber er könnte ja
nirgendwo zu sortiert werden, der Parent ist ja schon weg.
Den Parent sofort als Rowstate deleted oder "unmodified" (original?) setzen
ist auch blöd - der würde dann zwar nicht geschrieben, aber später
auftauchende gültige Childs würden ja den Rowstate nicht erben.

Es kann wohl nur gehen indem ich bei "Problem" die Parent ID erstmal
vermerke und weitermache als wäre nichts, bis die gesamte Datei geladen ist.
Dann bevor DA.UPDATE läuft das DS noch mal durchgehe und die vermerkten
Parents so bearbeite, das weder Sie selbst noch ihre Childs in der DB
landen. Nur wie genau läuft das bearbeiten "am bequemsten" ab?

Row.delete? Würde gehen, und würde sich auch an die Childs cascaden, aber
erzeugt er mir dann nicht DELETE Statements für diese Zeilen? Das
Delete-Property im DA ist leer, es könnte also gehen... ist das ok?
parent.Rowstate = original? Geht nicht an die Childs, das ginge aber von
Hand. Wäre auch eine Möglichkeit.
Row.remove? Entfernt die Zeile wirklich, das wäre optimal, aber was macht
REMOVE mit Childs?

So viele Möglichkeiten...
Ralf


.



Relevant Pages

  • Re: DataSet vor Update säubern
    ... Im Gegensatz dazu wäre eine "tiefe" Datei etwas in XML Form, ... >> allen seinen auch vielleicht später in der Datei kommenden Childs ... > Bringt denn ein später kommendes Cild keinen Parent mit? ... kommt, wird dafür im Dataset ein neuer Parent angelegt, und der Childteil ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)
  • DataSet Relation DeleteRule
    ... das bei einem Dataset das Löschen ... einer Zeile einer Parenttabelle nicht die Childs löscht. ... Probiert habe ich: ... Next by Date: ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)
  • Parent-Child Relation und Identity Column
    ... lokale Identity-ID für einen neuen Datensatz im lokalen Dataset. ... die Childs in einem Arbeitsschritt anlegen will? ... Natürlich kann ich den Parent beim Updaten auch auf die ... die "wirkliche" ID des Parents in den Child-Datensätze abzulegen, ...
    (microsoft.public.de.german.entwickler.dotnet.datenbank)
  • Re: [why oom_adj does not work] Re: Linux killed Kenny, bastard!
    ... Your Kenny-killer will fail, too. ... Maybe the weight for childs should be ... so killing the parent is the right thing if you ... You can only win by by suspending or killing the factory. ...
    (Linux-Kernel)
  • Re: [why oom_adj does not work] Re: Linux killed Kenny, bastard!
    ... It is not always the case, processes start executing different binaries ... Maybe the weight for childs should be ... so killing the parent is the right thing if you ...
    (Linux-Kernel)