Hallo zusammen.
Ich werde das Gefühl nicht los, dass ich den Baum vor lauter Wäldern nicht mehr sehe und sinnlos gedanklich blockiert werde. Daher bin ich für neue Ideen offen und dankbar. Voraussetzung ist allerdings, dass nicht mein komplettes Datenmodell zerlegt wird.
Ich habe ein privates Kassenbuch (KaBu), welches seine Daten in einem tDS abspeichert. Ich habe mehrere DataTables, z.B. bisher verwendete Orte, Verrechnungsstellen und getätigte Zahlungsvorgänge. Letztere enthalten mithilfe von Referenz-IDs Verweise auf die anderen DataTables. 1x pro Monat schließe ich das KaBu ab, was dazu führt, dass die Daten der Zahlungsvorgänge verschlüsselt abgespeichert und aus dem aktuellen KaBu werden.
Soweit Form1 (FrmMain).
Nun zu Form2 (FrmAnalyse):
Für eine spätere Auswertung können die Vorgangsdaten read-only in einem weiteren Formular importiert werden. Nun habe ich das Problem, dass ich natürlich all die schnuckligen DataBinding-, Filter-, Sortier-, LINQ-Funktionen nutzen möchte, die ein tDS direkt oder indirekt bietet. Dazu mache ich bisher folgendes:
funktioniert soweit problemlos.
Wenn ich aber mehrere Dateien/Monate importieren will, stehe ich vor dem Problem, dass ich die zusätzlichen Daten anhängen muss. Bisher gehe ich den Weg über Erzeugung eines tDS-Klons. Ich lese die XML-Vorgangsdaten in jenen Klon ein. Danach fusioniere ich die Prozessdaten vom Original-tDS mit dem Hilfs-tDS mittels
Die Meldung braucht mir nicht erklärt zu werden. Sie ist aussagekräftig genug.
Ich habe auch schon
Wie kann ich diesen Append-Vorgang effizienter gestalten?
Anmerkung: Das KaBu ist nur für private Zwecke. Keine offizielle Verwendung, also nix mit Finanzamtdatenerstellung und Co., falls da jemand präventiv Alarm schlagen will
Ich werde das Gefühl nicht los, dass ich den Baum vor lauter Wäldern nicht mehr sehe und sinnlos gedanklich blockiert werde. Daher bin ich für neue Ideen offen und dankbar. Voraussetzung ist allerdings, dass nicht mein komplettes Datenmodell zerlegt wird.
Ich habe ein privates Kassenbuch (KaBu), welches seine Daten in einem tDS abspeichert. Ich habe mehrere DataTables, z.B. bisher verwendete Orte, Verrechnungsstellen und getätigte Zahlungsvorgänge. Letztere enthalten mithilfe von Referenz-IDs Verweise auf die anderen DataTables. 1x pro Monat schließe ich das KaBu ab, was dazu führt, dass die Daten der Zahlungsvorgänge verschlüsselt abgespeichert und aus dem aktuellen KaBu werden.
Soweit Form1 (FrmMain).
Nun zu Form2 (FrmAnalyse):
Für eine spätere Auswertung können die Vorgangsdaten read-only in einem weiteren Formular importiert werden. Nun habe ich das Problem, dass ich natürlich all die schnuckligen DataBinding-, Filter-, Sortier-, LINQ-Funktionen nutzen möchte, die ein tDS direkt oder indirekt bietet. Dazu mache ich bisher folgendes:
- Datei 1 auslesen
- XML-Daten entschlüsseln
- die Vorgangsdaten ins tDS und somit über DataBinding ins read-only-DGV einlesen lassen
funktioniert soweit problemlos.
Wenn ich aber mehrere Dateien/Monate importieren will, stehe ich vor dem Problem, dass ich die zusätzlichen Daten anhängen muss. Bisher gehe ich den Weg über Erzeugung eines tDS-Klons. Ich lese die XML-Vorgangsdaten in jenen Klon ein. Danach fusioniere ich die Prozessdaten vom Original-tDS mit dem Hilfs-tDS mittels
Tds.VorgangsDataTable.Merge(AdditionalTds.VorgangsDataTable)
. Das Problem an der Sache: Es dauert zu lange. Pro Monat sind es vielleicht 50 Vorgänge. Bei 8 Jahren ergeben sich 4800 Vorgänge. Und das dauert einfach viel zu lange. Anfangs noch recht flink, vergeht nach ca. 12 eingelesenen Monaten pro weiteren Monat eine Sekunde, Tendenz steigend. Ich lass das absichtlich nicht in einem Nebenthread machen, damit ich die Performance sehen kann. Dabei sehe ich eben: Das Mergen dauert einfach zu lange. Und nach einer Minute bekomme ich ne nette Meldung:Die Meldung braucht mir nicht erklärt zu werden. Sie ist aussagekräftig genug.
Ich habe auch schon
EnforceConstraints
auf false
gesetzt und es mit einer Kopie statt einem Klon versucht. Ohne merkbaren Unterschied. Das Mergen ist einfach der Zeitdieb hier.Wie kann ich diesen Append-Vorgang effizienter gestalten?
Anmerkung: Das KaBu ist nur für private Zwecke. Keine offizielle Verwendung, also nix mit Finanzamtdatenerstellung und Co., falls da jemand präventiv Alarm schlagen will
Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.
Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.