Hi Leude,
folgendes Problem:
Ich hab eine Access-Datenbank mit der Tabelle "tab_umsatz".
Enthaltene Felder sind: id (LongInteger, Primärschlüssel), datum (Datum, kurz), betrag (Dezimal, Genauigkeit 18, Dezimalstellen 2), notiz (text).
Ich lese den Inhalt der Tabelle in ein DataGridView und das funktioniert auch alles:
Neue Daten einfügen funktioniert auch einwandfrei.
Aber wenn ich jetzt Daten im DGV ändere oder lösche und diese Änderungen in die Datenbank übertragen möchte, kommt es zu einer Parallelitätsverletzung.
Code dafür ist folgender:
Was ich herausbekommen habe ist, das irgendetwas mit dem Feld 'betrag' nicht stimmt.
Wenn ich nämlich den DataAdapter mit Assistent erstelle und die Option "Vollständige Parallelität verwenden" abwähle schreibt er die Daten in die DB, allerdings löscht er im Feld 'betrag' einfach das Komma.
Also:
Hat jemand ne Idee wie das zustande kommt?
Danke schonmal!
folgendes Problem:
Ich hab eine Access-Datenbank mit der Tabelle "tab_umsatz".
Enthaltene Felder sind: id (LongInteger, Primärschlüssel), datum (Datum, kurz), betrag (Dezimal, Genauigkeit 18, Dezimalstellen 2), notiz (text).
Ich lese den Inhalt der Tabelle in ein DataGridView und das funktioniert auch alles:
Code:
Dim cmdstr As New OleDbCommand("SELECT * FROM tab_umsatz") Dim DataAdapter1 As New OleDbDataAdapter(cmdstr) Dim DataTable1 As New DataTable DataAdapter1.Fill(DataTable1) DGV.DataSource = DataTable1
Aber wenn ich jetzt Daten im DGV ändere oder lösche und diese Änderungen in die Datenbank übertragen möchte, kommt es zu einer Parallelitätsverletzung.
Code dafür ist folgender:
Code:
Dim cmb as New CommandBuilder(DataAdapter1) DataAdapter1.Update(DataTable1)
Wenn ich nämlich den DataAdapter mit Assistent erstelle und die Option "Vollständige Parallelität verwenden" abwähle schreibt er die Daten in die DB, allerdings löscht er im Feld 'betrag' einfach das Komma.
Also:
Inhalt 'betrag' in DB vor Programmstart --> 30
Inhalt 'betrag' im DGV nach Programmstart --> 30,00
Inhalt im DGV nach speichern und neu laden --> 3000,00
und analog Inhalt in DB --> 3000
Inhalt 'betrag' im DGV nach Programmstart --> 30,00
Inhalt im DGV nach speichern und neu laden --> 3000,00
und analog Inhalt in DB --> 3000
Hat jemand ne Idee wie das zustande kommt?
Danke schonmal!
Comment