Hallo zusammen,
ich habe Probleme beim Speichern einens neuen Datensatzes in eine Access DB. Ich habe mich an das Buch http://www.galileocomputing.de/openbook/vb_net/msvb090000.htm gehalten. Das Auslesen funktionert auch einwandfrei. Wenn ich jedoch einen neuen Datensatz speichern will tritt die Fehlermeldung
"Aktualisieren erfordert einen gültigen InsertCommand, wenn eine DataRow-Auflistung mit neuen Zeilen weitergegeben wird."
auf.
Der Code dazu:
Imports System.IO.Ports
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.Odbc
Public Class Stationsdaten
Dim objConnection As OleDb.OleDbConnection = New OleDb.OleDbConnection _
("Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=C:\Users\Stefan\Documents\Datenbank\Baugruppe.mdb")
Dim objDataAdapter As New OleDb.OleDbDataAdapter
Dim objDataView As DataView
Dim objDataSet As DataSet
Sub Stationsdaten_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
objDataView = Nothing
objDataSet = New DataSet()
objConnection.Open()
objDataAdapter = New OleDb.OleDbDataAdapter("SELECT * FROM Allgemein", _
objConnection)
objDataAdapter.Fill(objDataSet, "Allgemein")
objDataView = New DataView(objDataSet.Tables("Allgemein"))
With Me
.txtAuftrNr.DataBindings.Add("Text", objDataView, "Auftragsnummer")
.txtBahnname.DataBindings.Add("Text", objDataView, "Bahnname")
.txtPLZ.DataBindings.Add("Text", objDataView, "PLZ")
.txtOrt.DataBindings.Add("Text", objDataView, "Ort")
.txtBundesland.DataBindings.Add("Text", objDataView, "Bundesland")
.txtLand.DataBindings.Add("Text", objDataView, "Land")
.txtBearbName.DataBindings.Add("Text", objDataView, "Bearbeitender" & _
"Name")
.txtBearbVorname.DataBindings.Add("Text", objDataView, _
"Bearbeitender Vorname")
.txtBaujahr.DataBindings.Add("Text", objDataView, "Baujahr")
End With
End Sub
Private Sub butNeu_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles butNeu.Click
'objDataAdapter = New OleDb.OleDbDataAdapter("INSERT * TO Allgemein",
' objConnection)
Dim objZeile As DataRow
Try
objZeile = objDataSet.Tables("Allgemein").NewRow()
objZeile.Item("Auftragsnummer") = txtAuftrNr.Text
objZeile.Item("Bahnname") = txtBahnname.Text
objZeile.Item("PLZ") = txtPLZ.Text
objZeile.Item("Ort") = txtOrt.Text
objZeile.Item("Bundesland") = txtBundesland.Text
objZeile.Item("Land") = txtLand.Text
objZeile.Item("Bearbeitender Name") = txtBearbName.Text
objZeile.Item("Bearbeitender Vorname") = txtBearbVorname.Text
objZeile.Item("Baujahr") = txtBaujahr.Text
objDataSet.Tables("Allgemein").Rows.Add(objZeile)
Try
'--------------------------------------------------------------
' -----------------
'hier wird die Exception ausgelöst
objDataAdapter.Update(objDataSet, "Allgemein")
'--------------------------------------------------------------
' ----------------
Catch ex As InvalidOperationException
MessageBox.Show(ex.Message)
End Try
Catch ex As OleDbException
MessageBox.Show(ex.Message)
End Try
End Sub
Private Sub Stationsdaten_Closed(ByVal sender As Object, ByVal e As _
System.EventArgs) Handles MyBase.Closed
objConnection.Close()
objDataSet = Nothing
End Sub
End Class Wo liegt mein Fehler? Ich konnte ihn nicht finden.
Danke im Voraus für die Hilfe |