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.941 Themen, 20.708 Beiträge
Hi,
hat die Tabelle denn einen Primär-Schlüssel?
Gruß
HADU
Danke für die schnelle Antowert.
Nein, die Tabelle hat keinen Primärschlüssel, aber das dürfte - soweit ich weiss - in diesem Falle nicht von Bedeutung sein, da der Zugriff ja einwandfrei funktioniert nur das zurückschreiben in die Datenbank eben nicht.
Habe gerade eben um sicher zu gehen einen Primärschlüssel in die Tabelle eingefügt: Es geht trotzdem nicht ...
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
Hi Pupille!
möchte wissen wie du dieses Problem gelöst hast!
Stehe neben vor dem gleichen Problem und bin ebenso am verzweifeln.
Gruß
Jörg