DataGridView Problem mit Update

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von StormySunshine.

    DataGridView Problem mit Update

    Hallo Zusammen,

    hier ist der Code den ich benutze:

    VB.NET-Quellcode

    1. Public Class Form1
    2. Dim myData As New DataTable
    3. Dim myBindingSource As New BindingSource
    4. Dim connectionString As String = "Data Source=Test.sqlite;"
    5. Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
    6. DataGridView1.DataSource = myBindingSource
    7. End Sub
    8. 'änderungen in die DB speichern
    9. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    10. Try
    11. Dim myAdapter As New SQLite.SQLiteDataAdapter("SELECT * FROM Kunden", connectionString)
    12. Dim cb As New SQLite.SQLiteCommandBuilder(myAdapter)
    13. myBindingSource.EndEdit()
    14. myAdapter.Update(myData) '****** Hier erhalten ich die untengenannte Fehlermeldung
    15. MsgBox("DB atuell")
    16. Catch ex As Exception
    17. MsgBox(ex.ToString())
    18. End Try
    19. End Sub
    20. 'Daten aus DB holen und in DataGridView darstellen
    21. Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
    22. Dim myAdapter As New SQLite.SQLiteDataAdapter("SELECT * FROM Kunden", connectionString)
    23. myData = New DataTable("Kunden")
    24. myAdapter.Fill(myData) 'DataTable füllen
    25. myBindingSource.DataSource = myData
    26. End Sub
    27. End Class


    Egal was ich mache, ich erhalte immer folgende Fehlermeldung:

    System.Data.DBConcurrencyException: Parallelitätsverletzung : Der UpdateCommand hat sich auf 0 der erwarteten 1 Datensätze ausgewirkt.
    bei System.Data.Common.DbDataAdapter.UpdatedRowStatusErrors(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
    bei System.Data.Common.DbDataAdapter.UpdatedRowStatus(RowUpdatedEventArgs rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
    bei System.Data.Common.DbDataAdapter.Update(DataRow[] dataRows, DataTableMapping tableMapping)
    bei System.Data.Common.DbDataAdapter.UpdateFromDataTable(DataTable dataTable, DataTableMapping tableMapping)
    bei System.Data.Common.DbDataAdapter.Update(DataTable dataTable)

    Könnte mir bitte jemand helfen und erklären, warum es einfach nicht klappt.
    Hat jemand anderes auch dieses Problem?
    Trotz intensiver Suche konnte ich diesen Fehler nicht beheben.

    Für Eure Hilfe wäre ich sehr dankbar.

    Viele Grüße
    kann an allem möglichem liegen - so vom angugge scheint mirs zwar denkbar ungeschickter Code, aber warums zur ParallelitätsVerletzung kommt, kannichnich erkennen.

    Weißt du, was eine ParallelitätsVerletzung ist? - ansonsten such mal auf Wiki.

    Vlt. kannst du ja auch ein Testprojekt erstellen, zippen und anhängen, mit dem man den Fehler reproduzieren kann.
    Hallo ErfinderDesRades,

    danke für Deine Antwort.

    Ich habe jetzt eine ganz neue Datenbank mit Sqlite angelegt, drei Tabellen eingefügt, ein paar Testdaten
    reingeschrieben.
    Bin am Verzweifeln.
    In dieser neuen Datenbank funktioniert es einwandfrei ???
    Jetzt weis ich gar nichts mehr...

    Viele Grüße
    Hallo Zusammen,

    habe festgestellt, dass in der Tabelle eine Spalte ist, die ich mit dem Typ "Integer" angelegt habe.
    Diese Spalte erzeugt einen Fehler. In den Zeilen befindet sich der eingetragene Wert 0.

    Könnte mir jemand erklären, warum diese Spalte einen Fehler erzeugt? Was ist daran falsch?

    Vielen Dank für Eure Mühe

    Viele Grüße