| |
VB.NET - Ein- und UmsteigerRe: DBCurrencyException im DataSet | | | Autor: Angelus19 | Datum: 25.03.10 13:12 |
| Ok.
Aber dann verstehe ich das nicht ganz. Wie sollten denn die Werte in der Datenbank geändert sein? Wenn der Benutzer Werte im DGV umschreibt dann ist doch klar das dann etwas geändert wurde. Da ich momentan als einziger auf die DB zugreife können keine anderen Änderungen auftreten.
Wie gesagt, das Problem tritt nur auf wenn eine der Spalten als Decimal definiert ist.
Es könnte doch sein das dass DGV bei der automatischen Erzeugung der Spalten bei den Zahlenwerten irgend etwas falsch macht?
Angelus19 | |
DBCurrencyException im DataSet | | | Autor: Angelus19 | Datum: 25.03.10 11:34 |
| Hallo Zusammen,
für Testzwecke habe ich eine Access2003 Datenbank nur mit Textspalten erzeugt.
Diese Datenbank habe ich an ein DataGridView gebunden (VB2008 Express). Soweit, so gut. Ich kann Daten ändern, hinzufügen und löschen.
Nun möchte ich aber dass ein Benutzer nur gültige Werte (zB. nur Zahlen) in die Spalten schreiben kann. Also habe ich bestimmte Spalten in der DB als Zahl (Decimal, 2 Nachkommastellen, Standardwert 0) definiert. Durch FillSchema erhält das DGV alle notwendigen Informationen.
Beim Update des Adapters wird nun aber immer DBCurrencyException ausgelöst. Und zwar immer dann wenn ich Zahlenspalten im DataSet habe.
Kann sich das jemand erklären?
Angelus19 | |
Re: DBCurrencyException im DataSet | | | Autor: Angelus19 | Datum: 25.03.10 12:11 |
| Entschuldigung,
natürlich meine ich DBConcurrencyException.
Ich habe inzwischen ein wenig gegoogelt. Könnte es ein Problem mit dem Decimalwert in Acces und den unter .NET sein?
Angelus19 | |
Re: DBCurrencyException im DataSet | | | Autor: Angelus19 | Datum: 25.03.10 14:31 |
| Ja genau. An so etwas hatte ich gedacht.
Würde sich das denn dadurch beheben lassen, dass ich für die Spaltentypen einen anderen Typ definiere. Also z.B. Single oder Double?
Die Spalten sollen Werte für Volumen und Dichte endhalten, so dass ich bei einer Abfrage der DB die Masse berechnen kann.
Angelus19 | |
Re: DBConcurrencyException im DataSet | | | Autor: Angelus19 | Datum: 26.03.10 10:02 |
| Hallo DaveS und RalfE,
Double hat funktioniert. Damit treten die genannten Probleme nicht mehr auf.
Danke.
Angelus19 | |
Re: DBConcurrencyException im DataSet | | | Autor: FZelle (Moderator) | Datum: 26.03.10 17:18 |
| Das verhalten ist "einfach" erklärbar.
Wenn du bei der Spaltenbeschreibung im designer oder von hand "vergisst" explizit die Anzahl der
Nachkommastellen von Decimal anzugeben, nimmt ADO.NET 0 ( null ) an.
aus 2,1234 wird also 21234,0 was dann beim vergleichen mit den Ursprungswerten in der DB
zu besagter Exception ( oder anderen hier berichteten Fehlern mit Decimal ) führt. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|