verwendetes Datenbanksystem: MySQL
Hi,
ich schreibe seit einigen Monaten an einem Programm, welches mit einer MySQL-Datenbank kommuniziert. Dazu verwende ich den .Net Connector für MySQL. Ich habe festgestellt, das die MySqlDataAdapter.Update(DataSet, [Tabellenname])-Methode alle Datensätze der Tabelle doppelt abspeichert, sobald ich einen einzigen Datensatz verändert habe.
Seltsamer Weise entsprechen die Kopien des veränderten Datensatzes der nicht veränderten Version.
Was mache ich falsch?
Gruß, Sam99
Die DataTable merkt sich, welche Einträge neu sind, welche unverändert und welche alt. Offensichtlich stimmt Dein Code an dieser Stelle nicht, und er denkt, dass alle neu wären.
Zeig mal den Code-Abschnitt der betroffenen Stelle.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Danke 👍 Genau das war mein Fehler, ich habe die Datensätze mit importRow() in eine neue Tabelle eingefügt, sodass alle Datensätze als Added markiert waren. Das Problem habe ich mit AcceptChanges() gelöst.
Wenn man AcceptChanges benutzen muss ist man zu 99% auf dem falschen Weg.
Schon alleine das Du da was heumkopierst ist zu 99% falsch.
Warum meinst du das machen zu müssen?
Wie soll ich sonst die Daten aus zwei verschiedenen Datenquellen in eine Tabelle bringen?
Vielen Dank für den Hinweis. Das Sync Framework werde ich mir mal anschauen.