VisualBasic Mit Access-Tabelle Inhalt updaten

VistOSX

Lt. Junior Grade
Registriert
Apr. 2009
Beiträge
278
Hi zusammen,

ich bin wieder mal an einem Punkt angelangt, an dem ich einfach nicht weiter komme. Ich habe eine Access-Datenbank erstellt und ein paar Felder definiert. Nun in Visual Basic als DetialView integriert und es funktioniert auch alles perfekt, ich kann daten löschen, ich kann daten einfügen jedoch bei einem bestehenden Datensatz kann ich nichts editieren.

Also ich habe soeben einen Datensatz erstellt und auf speichern geklickt. Wenn ich jetzt gerade im Datensatz etwas bearbeite erscheint eine Fehlermledung wenn ich jedoch das fenster zuerst schliesse und dann nochmals öffne und den Datensatz bearbeite funktioniert das wunderbar.

Fehlermeldung:

Unbehandelte Ausnahme in der Anwenung. Klicken Sie auf "Weiter", um den Fehler zu ignorieren und die Anwendung fortzusetzen. Wenn Sie auf "Beenden" klicken, wird die Anwendunf sofort beendet.

Parallelitätsverletzung: Der UpdateCommand hat sich auf 0 der erwarteten 1 Datensätze ausgewirkt.

Code:
Informationen über das Aufrufen von JIT-Debuggen
anstelle dieses Dialogfelds finden Sie am Ende dieser Meldung.

************** Ausnahmetext **************
System.Data.DBConcurrencyException: Parallelitätsverletzung: Der UpdateCommand hat sich auf 0 der erwarteten 1 Datensätze ausgewirkt.
   bei government001.missionsDataSetTableAdapters.TableAdapterManager.UpdateAll(missionsDataSet dataSet) in C:\Users\Lukas Schweizer\Documents\Visual Studio 2010\Projects\government001\government001\missionsDataSet.Designer.vb:Zeile 1539.
   bei government001.blackbryr.BlackBryrFilesBindingNavigatorSaveItem_Click(Object sender, EventArgs e) in C:\Users\Lukas Schweizer\Documents\Visual Studio 2010\Projects\government001\government001\blackbryr.vb:Zeile 6.
   bei System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
   bei System.Windows.Forms.ToolStripButton.OnClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
   bei System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
   bei System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
   bei System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
   bei System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   bei System.Windows.Forms.Control.WndProc(Message& m)
   bei System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   bei System.Windows.Forms.ToolStrip.WndProc(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   bei System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Ich hoffe Ihr könnt mir helfen.

Gruss
 
Nach Speichern würde ich mal die Daten neu populieren bzw. die geänderten Datensätze, die gespeichert wurden, nochmal von der Datenbank abfragen. Ich vermute mal, dass du eine ID Spalte mit AutoIncrement oder ähnliches in der Tabelle definiert hast. Nach dem Insert wird der Wert der Spalte von NULL auf einen eindeutigen Wert von der Datenbank geändert. Deine Anwendung kennt jedoch nur den Wert der Spalte vor dem Insert in der Datenbank (Wert = NULL). Beim Update werden alle Werte des Datensatzes verwendet um den Datensatz eindeutig identifizieren zu können, sodaß auch nur der Datensatz die neuen Werten erhält, den du auch tatsächlich in deiner App geändert hast. Sollte der Datensatz nicht eindeutig identifiziert werden können, dann erscheint diese ConcurrencyException.
 
Zuletzt bearbeitet:
Zurück
Oben