| |

VB.NET - FortgeschritteneFehler bei OleDataAdapter.update | |  | Autor: worldofavatar | Datum: 28.01.04 09:17 |
| Ich habe folgendes Problem:
Ich habe eine Datenbank auf die ich über OleDataAdapter zugreife.
Der Verbindungsaufbau funktioniert ohne Probleme, ich kann auch zwischen den Datensätzen hin und her springen.
Ich habe nur ein Problem! Wenn ich ein Update ausführen will, dann bekomme ich folgende Fehlermeldung:
"TableMapping['Table'] oder DataTable 'Table' kann nicht gefunden werden."
[[u]b]Mein QuellCode
Dim objConnection As OleDb.OleDbConnection
Dim mySelectQuery = New OleDb.OleDbCommand("SELECT id, tp, Ursp_FKZ, fkzzif, fkz_p, fkzzif2, fkz2_p, valid, void FROM TAB_33FKZ ORDER BY id")
Dim objDataAdapter1 As OleDb.OleDbDataAdapter
Dim objDataSet11 As DataSet
Dim objDataView1 As DataView
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
objDataView1 = Nothing
objDataSet11 = New DataSet
objDataAdapter1 = New OleDb.OleDbDataAdapter(mySelectQuery)
objDataAdapter1.SelectCommand.Connection = New OleDb.OleDbConnection _
("Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=D:\27880\10-Organisation\27880_SAI_sms.mdb")
objDataAdapter1.Fill(objDataSet11, "TAB_33FKZ")
objDataView1 = New DataView(objDataSet11.Tables("TAB_33FKZ"))
With Me
.txt_id.DataBindings.Add("Text", objDataView1, "id")
.txt_tp.DataBindings.Add("Text", objDataView1, "tp")
.txt_ursp_FKZ.DataBindings.Add("Text", objDataView1, "Ursp_FKZ")
.txt_FKZ1.DataBindings.Add("Text", objDataView1, "fkzzif")
.txt_FKZ2.DataBindings.Add("Text", objDataView1, "fkzzif2")
.txt_FKZ1_p.DataBindings.Add("Text", objDataView1, "fkz_p")
.txt_FKZ2_p.DataBindings.Add("Text", objDataView1, "fkz2_p")
.txt_valid.DataBindings.Add("Text", objDataView1, "valid")
.txt_void.DataBindings.Add("Text", objDataView1, "void")
End With
AddHandler Me.BindingContext(objDataView1).PositionChanged, AddressOf PosAnzeigen
Me.PosAnzeigen(objDataView1, New System.EventArgs)
End Sub
Private Sub Form1_Close(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Closed
objDataSet11 = Nothing
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_next.Click
Me.BindingContext(Me.objDataView1).Position += 1
Me.PosAnzeigen(objDataView1, New System.EventArgs)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_previous.Click
Me.BindingContext(Me.objDataView1).Position -= 1
Me.PosAnzeigen(objDataView1, New System.EventArgs)
End Sub
Private Sub PosAnzeigen(ByVal sender As Object, ByVal e As System.EventArgs)
Me.lblPos.Text = _
(Me.BindingContext(Me.objDataView1).Position + 1).ToString _
& " von " & Me.objDataView1.Count
End Sub
Private Sub butÄndern_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butÄndern.Click
Dim dblPos As Double
dblPos = Me.BindingContext(objDataView1).Position
With objDataSet11.Tables("TAB_33FKZ").Rows(dblPos)
.Item("tp") = txt_tp.Text
.Item("Ursp_FKZ") = txt_ursp_FKZ.Text
.Item("fkzzif") = txt_FKZ1.Text
.Item("fkzzif2") = txt_FKZ2.Text
.Item("fkz_p") = CDbl(txt_FKZ1_p.Text)
If txt_FKZ2_p.Text <> "" Then
.Item("fkz2_p") = CDbl(txt_FKZ2_p.Text)
End If
If txt_void.Text <> "" Then
.Item("void") = CDate(txt_void.Text)
End If
If txt_valid.Text <> "" Then
.Item("valid") = CDate(txt_valid.Text)
End If
End With
Try
Dim objCommandBuilder As New OleDb.OleDbCommandBuilder(objDataAdapter1)
objDataAdapter1.UpdateCommand = objCommandBuilder.GetUpdateCommand
objDataAdapter1.UpdateCommand.CommandText = "UPDATE TAB_33FKZ SET tp = ?, [Ursp FKZ] = ?, fkzzif = ?, fkz_p = ?, fkzzif2 = ?, fkz2_p = ?, valid = ?, void = ? WHERE (id = ?)"
'Hier tritt der Fehler auf!
objDataAdapter1.Update(objDataSet11)
objDataSet11.Tables("TAB_33FKZ").AcceptChanges()
Catch ex As Exception
MsgBox("Beim Update der ID: " & Me.txt_id.Text & " ist folgender Fehler aufgetreten: " _
& vbNewLine & ex.Message, MsgBoxStyle.Critical, "DB-Fehler")
End Try
End Sub |  |
 | 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 |
  |
|
sevISDN 1.0 
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevPopUp 2.0 
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|