Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Daten vor Datenbank einfügen zuerst überprüfen
Vegeto - Mo 29.10.12 16:35
Eine frage noch xD
Möchte jetzt die gewonnen Daten in eine Datenbank speichern, doch der soll jedesmal bevor er sie in die Datenbank speichert, erst überprüfen.
Soll ich erst Insert Into - Anweisung ausführen lassen und einfach daran eine Update - Anweisung ausführen ?
Oder eher anders herum, erst update, dann Insert Into...?
Oder soll ich zuerst die datenbank durchlaufen lassen mittels select * und dann erst Update?
Nur ein anhaltspunkt wo ich weiter suchen kann.. kein Code snippet.
Würde mich freuen wenn du mir diese farge nochmal beantworten magst :)
Lg
Ralf Jansen - Mo 29.10.12 17:18
Da gibt es keine klare Antwort drauf. Hängt von zuvielen Faktoren ab.
Beispiel von Fragen die du dir Stellen musst
- was ist mit Daten die nicht mehr im Excel Sheet da sind? aus der DB löschen?
- anhand welchen Kriterien findest ich die Daten in der DB. Ist das überhaupt eindeutig?
- Wie hoch ist die Änderung/Trefferwahrscheinlichkeit in der DB? Werden es voraussichtlich mehr Insert oder Updates sein? (Gedachte Mengen unter der Annahme du wüsstest schon vorher was du brauchst)
Neben deinen gedachten Möglichkeiten von 'Insert oder Update' gibt es auch die 'erst Delete dann immer Insert' Möglichkeit. Gerade wenn anhand der Kriterien ein Massen löschen möglich ist ist die nicht zu verachten.
Vegeto - Di 30.10.12 09:21
Ohh... Habe mir das nicht so komplex gedacht.
Also ich habe mir das so vorgestellt:
- die Daten von einer Excel Datei in die Datenbank kopiert wird. Die Excel Datei wird regelmäßig aktualisiert, sodass die alten Werte ersetzt wrden!
- in der Datenbank sollen demnach auch die alten Werte vorkommen, z.B. Kopiere ich jz einen Datensatz in die DB und nach einer Woche gibt es in der Excel Datei diesen Datensatz nicht, doch der soll weiterhin in der DB enthalten sein.
- Und wenn das Programm am tag häufiger ausgeführt wird, sind vielleicht demnnach noch Datensätze drinne, die schon übertragen wurden, die sollen DANN nicht übertragen sein, zum Abgleich vllt. zwei Spalten die fest definiert sind?
Ich hoffe du verstehst was ich meine.
Also die Excel Datei ändert sich alle 2-3 Tage, das programm wird am Tag mindestens 2x benutzt, dass heißt es werden schon häufiger Doppelte Datensätze eingelsen, doch die sollen, dann NICHT kopiert werden, erst wenn neue Datensätze vorhanden sind.
Lg
ps.: Wenn du magst können wir das ganze auch per PM klären? :)
weil wir hier OFF Topic werden ^^
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!