Hallo VB.NET-Spezialisten,
habe das Problem, dass ich in einem VB.NET Windows-Formular zwar Daten aus einer ACCESS-Datenbank in die entsprechenden Steuerelemente einlesen kann, aber nicht die veränderten Daten wieder in die ACCESS-Datenbank zurückschreiben kann.
Mein Code sieht folgendermaßen aus:
Dim obConnection As OleDb.OleDbConnection = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=hier kommt jetzt der Verzeichnispfad)\\VisualBasicNet\\ProgrammeVisualStudio\\DatenbankzugriffohneAssistent\\DatenbankzugriffohneAssistent\\Adressen.mdb")
Dim obDataAdapter As OleDb.OleDbDataAdapter
Dim obDataSet As DataSet
Dim obDataView As DataView
Hier die Prozedur, um einen Datensatz zu löschen:
Private Sub cmdLöschen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLöschen.Click
Dim loPosition As Long
Dim obZeile As DataRow
loPosition = BindingContext(obDataView).Position
obDataSet.Tables("Tabelle1").Rows(loPosition).Delete()
obDataAdapter.Update(obDataSet, "Tabelle1")
End Sub
Das Problem liegt an der Zeile:
"obDataAdapter.Update(obDataSet, "Tabelle1")"
Es erscheint beim Testen des Programms folgender Fehlerhinweis:
Aktualisieren erfordert einen gültigen DeleteCommand, wenn eine DataRow-Auflistung mit gelöschten Zeilen weitergegeben wird.
Veränderungen werden zwar auf der Form vorgenommen, aber sieh werden einfach nicht in die Access-Datenbank zurückgeschrieben.
Ich hab schon einige Stunden(!) Zeit verbracht (und auch mehrere Bücher gewälzt), um auf den Grund des Fehlers zu kommen ... ich kapiers einfach nicht.
Wer kann mir helfen? Vielen Dank!
Grüße
Programmieren - alles kontrollieren 4.938 Themen, 20.667 Beiträge
Schade - ich habe in der Microsoft Newsgroup eine Beitrag gefunden, bei dem ein User genau Deine Probleme beschrieben hat und bei dem der Primärkey geholfen hat:
Und dann war da nochmals ein ähnlicher Beitrag, bei dem es der Primary Key war - aber den finde ich gerade nicht mehr ...
Gruß
HADU