Hallo zusammen,
ich bin am verzweifeln
Ich schreibe Datensätze in eine Access Datenbank (Kassenprogramm) Anzahl, Artikel, Preis. Diese sind auch mit einem Datagridview angezeigt.
Nun möchte ich immer einen Datensatz stornieren (deleten). Das funktioniert meistens, aber sporadisch auch nicht und ich finde den verdammten Fehler
nicht! Ich habe hier mal die Funktion die ich geschrieben habe!
Es kommt dann der Fehler:
Ein Ausnahmefehler des Typs "System.Data.DBConcurrencyException" ist in System.Data.dll aufgetreten.
Zusätzliche Informationen: Parallelitätsverletzung: Der DeleteCommand hat sich auf 0 der erwarteten 1 Datensätze ausgewirkt.
Vielleicht hat mir jemand ein Beispiel wo ich immer den letzten Datensatz löschen kann.
Vielen Dank!
Private Sub Stornofunktion()
Dim cbs As OleDbCommandBuilder = New OleDbCommandBuilder(daBon)
Dim row As DataRow
Dim i As Integer
Dim BonIDDgv As Integer = 0
Try
con.Open()
Dim dt As DataTable = dsBon.Tables("Bon")
BonIDDgv = DataGridView1.CurrentRow.Cells(6).Value
Label6.Text = BonIDDgv
For Each row In dt.Rows
If row!BonID = BonIDDgv Then
row.Delete() 'DataRow löschen
Exit For
End If
Next
If dsBon.HasChanges Then
'Datenbank updaten
daBon.Update(dsBon, "Bon")
dsBon.Clear()
daBon.Fill(dsBon, "Bon")
End If
i = 0
GDSumme = 0
For i = 0 To DataGridView1.RowCount - 1
GDSumme = GDSumme + DataGridView1.Rows(i).Cells("Preis").Value
Next
' TextBox1.Text = TextBox1.Text & vbCrLf & GDSumme.ToString
GridSumme.Text = "Summe: " & Format(GDSumme, "##0.00")
If DataGridView1.RowCount < 1 Then
Storno.Enabled = False
Storno2.Enabled = False
Istgleich.Enabled = False
Istgleich2.Enabled = False
End If
Catch ex As OleDbException
MessageBox.Show(ex.Message, "Fehler", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
Finally
con.Close()
DataGridView1.Refresh()
End Try
End Sub
ich bin am verzweifeln
Ich schreibe Datensätze in eine Access Datenbank (Kassenprogramm) Anzahl, Artikel, Preis. Diese sind auch mit einem Datagridview angezeigt.
Nun möchte ich immer einen Datensatz stornieren (deleten). Das funktioniert meistens, aber sporadisch auch nicht und ich finde den verdammten Fehler
nicht! Ich habe hier mal die Funktion die ich geschrieben habe!
Es kommt dann der Fehler:
Ein Ausnahmefehler des Typs "System.Data.DBConcurrencyException" ist in System.Data.dll aufgetreten.
Zusätzliche Informationen: Parallelitätsverletzung: Der DeleteCommand hat sich auf 0 der erwarteten 1 Datensätze ausgewirkt.
Vielleicht hat mir jemand ein Beispiel wo ich immer den letzten Datensatz löschen kann.
Vielen Dank!
Private Sub Stornofunktion()
Dim cbs As OleDbCommandBuilder = New OleDbCommandBuilder(daBon)
Dim row As DataRow
Dim i As Integer
Dim BonIDDgv As Integer = 0
Try
con.Open()
Dim dt As DataTable = dsBon.Tables("Bon")
BonIDDgv = DataGridView1.CurrentRow.Cells(6).Value
Label6.Text = BonIDDgv
For Each row In dt.Rows
If row!BonID = BonIDDgv Then
row.Delete() 'DataRow löschen
Exit For
End If
Next
If dsBon.HasChanges Then
'Datenbank updaten
daBon.Update(dsBon, "Bon")
dsBon.Clear()
daBon.Fill(dsBon, "Bon")
End If
i = 0
GDSumme = 0
For i = 0 To DataGridView1.RowCount - 1
GDSumme = GDSumme + DataGridView1.Rows(i).Cells("Preis").Value
Next
' TextBox1.Text = TextBox1.Text & vbCrLf & GDSumme.ToString
GridSumme.Text = "Summe: " & Format(GDSumme, "##0.00")
If DataGridView1.RowCount < 1 Then
Storno.Enabled = False
Storno2.Enabled = False
Istgleich.Enabled = False
Istgleich2.Enabled = False
End If
Catch ex As OleDbException
MessageBox.Show(ex.Message, "Fehler", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation)
Finally
con.Close()
DataGridView1.Refresh()
End Try
End Sub