MySQL Dataadapter Update mit auto_increment

  • VB.NET
  • .NET 5–6

    MySQL Dataadapter Update mit auto_increment

    Moin,

    ich möchte Tabellen bearbeiten und lade die per MySql. Soweit kein Problem.

    Jetzt kommt das Update...Die Tabellen haben natürlich alle eine ID Spalte die primery und auto_increment ist. Beim Update Command erhalte ich natürlich den Fehler, dass die Primery Spalte nicht beschrieben werden kann.
    Wie kann ich das abschalten?
    Ich kriege den Fehler nur, wenn ich eine andere Tabelle bearbeite. Ich wechsel durch eine combobox die angezeigte Tabelle.

    VB.NET-Quellcode

    1. Private bindingSource1 As New BindingSource()
    2. Private dataAdapter As New MySqlDataAdapter
    3. Private Sub LoadConnection(tablename As String)
    4. Dim connectionString As String = fmMain.myConnectionString
    5. Dim selectCommand As String
    6. Dim connection As New MySqlConnection
    7. connection.ConnectionString = connectionString
    8. selectCommand = "select * FROM " & tablename
    9. Me.dataAdapter = New MySqlDataAdapter(selectCommand, connection)
    10. With dgvInventar
    11. .AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells
    12. .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
    13. .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.ColumnHeader
    14. End With
    15. Dim commandBuilder As New MySqlCommandBuilder(Me.dataAdapter)
    16. Dim table As New DataTable()
    17. table.Locale = System.Globalization.CultureInfo.InvariantCulture
    18. Me.dataAdapter.Fill(table)
    19. Me.bindingSource1.DataSource = table
    20. Dim data As New DataSet()
    21. data.Locale = System.Globalization.CultureInfo.InvariantCulture
    22. dgvInventar.DataSource = Me.bindingSource1
    23. dgvInventar.AlternatingRowsDefaultCellStyle.BackColor = Color.Aqua
    24. dgvInventar.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells)
    25. End Sub
    26. Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
    27. Dim table As New DataTable()
    28. Me.bindingSource1 = dgvInventar.DataSource
    29. table = Me.bindingSource1.DataSource
    30. Me.dataAdapter.Update(table)
    31. End Sub


    VB.NET-Quellcode

    1. Ein Ausnahmefehler des Typs "MySql.Data.MySqlClient.MySqlException" ist in System.Data.dll aufgetreten.
    2. Zusätzliche Informationen: Duplicate entry '2' for key 'tb_locations.PRIMARY'
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „razzzer530i“ ()