Änderungen werden nicht in Datenbank übernommen

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Änderungen werden nicht in Datenbank übernommen

    Hi.

    Bin gerade ein wenig mit Datasets und BindingSource am experimentieren.
    Mein aktueller Code:

    VB.NET-Quellcode

    1. Private Sub lbTabellen_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lbTabellen.SelectedIndexChanged
    2. Dim dataset As New DataSet
    3. Dim bindingsource As New BindingSource
    4. Using con As New MySqlConnection(String.Format("Server={0};Database={1};Uid={2};Pwd={3};", _strServer, _strDatenbankname, _strBenutzer, _strPasswort))
    5. con.Open()
    6. Using cmd As New MySqlCommand(String.Format("select * from {0}", Convert.ToString(lbTabellen.SelectedItem)), con)
    7. Dim ada As New MySqlDataAdapter(cmd)
    8. ada.Fill(dataset)
    9. bindingsource.DataSource = dataset.Tables(0)
    10. dgvAusgabe.DataSource = bindingsource
    11. End Using
    12. End Using
    13. End Sub


    Funktioniert auch eigentlich ganz gut, allerdings werden die Änderungen, welche ich im DataGrid vornehme, nicht auf die Datenbank übertragen. Hab ich da etwas übersehen oder vergessen? ?(

    Es sei noch dazu gesagt, dass ich mich aktuell an Datenbanken herantaste, sprich, noch nicht allzu viel Ahnung davon habe :P
    Denn lass erstmal die Finger von Datenbanken, und lerne zuvor, wie Databinding geht.
    Keines falls weist man nämlich in einem SelectedIndexChanged eine neue DataSource zu.
    Auch erzeugt man besser keine BindingSources per Code - sowas macht man alles besser im Designer.

    Tatsächlich solltest du ühaupt kein SelectedIndexChanged verarbeiten, sondern wenn, dann das BindingSource_CurrentChanged-Event.

    Also wie gesagt: Erst lernen, wie man Oberflächen gestaltet, mit Datenbindung an ein typisiertes Dataset. Das Programm sollte dann schonmal laufen.

    Erst danach bei Bedarf lernen, wie man dieses typDataset nun aus einer Datenbank befüllt.

    Zu typDataset etc. ein umfassendes Tutorial: codeproject.com/Articles/1033145/Databinding-for-Beginners