Laden...

MySqlDataAdapter.Update() speichert alles doppelt

Erstellt von Sam99 vor 10 Jahren Letzter Beitrag vor 10 Jahren 1.418 Views
S
Sam99 Themenstarter:in
10 Beiträge seit 2012
vor 10 Jahren
MySqlDataAdapter.Update() speichert alles doppelt

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

16.807 Beiträge seit 2008
vor 10 Jahren

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.

S
Sam99 Themenstarter:in
10 Beiträge seit 2012
vor 10 Jahren

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.

F
10.010 Beiträge seit 2004
vor 10 Jahren

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?

S
Sam99 Themenstarter:in
10 Beiträge seit 2012
vor 10 Jahren

Ich möchte zwei verschiedene Datenquellen synchronisieren.

F
10.010 Beiträge seit 2004
vor 10 Jahren

Und?

S
Sam99 Themenstarter:in
10 Beiträge seit 2012
vor 10 Jahren

Dazu muss ich den Inhalt der einen Tabelle in die andere kopieren.

F
10.010 Beiträge seit 2004
vor 10 Jahren

Nö. Warum solltest du das müssen?

S
Sam99 Themenstarter:in
10 Beiträge seit 2012
vor 10 Jahren

Wie soll ich sonst die Daten aus zwei verschiedenen Datenquellen in eine Tabelle bringen?

W
955 Beiträge seit 2010
vor 10 Jahren

Du könntest Dir auch einmal das Microsoft Sync Framework anschauen.

S
Sam99 Themenstarter:in
10 Beiträge seit 2012
vor 10 Jahren

Vielen Dank für den Hinweis. Das Sync Framework werde ich mir mal anschauen.