nach DGV Update friert MySQL-Verbindung ein

  • VB.NET

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

    nach DGV Update friert MySQL-Verbindung ein

    Hallo an alle,

    1) ich habe eine Datagriedview, die beim Form-Load-Ereignis mit Werten aus einer MySQL-Tabelle befüllt wird.
    Wenn ich Änderungen durchführe und diese dann abspeichere, werden alle Werte in der MySQL-Tabelle korrekt übernommen.

    2) Wenn ich die Form mit der DGV schließe und diese dann erneut aufrufe, werden in der DGV keine Werte mehr angezeigt.

    3) Wenn ich nun eine andere Abfrage durchführe, wird hier der Wert auch nicht korrekt anzeigt.

    4) Sobald ich diese Abfrage zum zweiten Mal starte, wird der korrekte Wert anzeigt.

    5) Jetzt kann ich die Form mit der DGV korrekt abrufen.

    Wo liegt wohl der Fehler?

    FormLoad:

    VB.NET-Quellcode

    1. Private Sub benver_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    2. abfragen()
    3. End Sub


    sub abfragen:

    VB.NET-Quellcode

    1. Private Sub abfragen()
    2. con2.ConnectionString = "server=xxx; user ID=xxx; password=xxx; database=xxx"
    3. Try
    4. con2.Open()
    5. da = New MySqlDataAdapter("SELECT id, name, password, betrag, active, lizenz FROM guthaben WHERE lizenz = '" & My.Settings.lizenz & "'", con2)
    6. da.Fill(dt)
    7. DataGridView1.DataSource = dt
    8. DataGridView1.Columns("id").ReadOnly = True
    9. DataGridView1.Columns.Item(0).HeaderText = "ID"
    10. DataGridView1.Columns.Item(1).HeaderText = "User"
    11. DataGridView1.Columns.Item(2).HeaderText = "Passwort"
    12. DataGridView1.Columns.Item(3).HeaderText = "Guthaben"
    13. DataGridView1.Columns.Item(4).Visible = False
    14. DataGridView1.Columns.Item(5).Visible = False
    15. con2.Close()
    16. Catch ex As Exception
    17. con2.Close()
    18. MsgBox("Keine Verbindung zur Datenbank möglich!")
    19. Application.Exit()
    20. End Try
    21. End Sub


    Update-Button:

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. Dim cmdb As New MySqlCommandBuilder(da)
    3. da.Update(dt)
    4. End Sub
    Der ansatz ist nicht sonderlich tauglich. versuch dich vlt. an "Datenbank in 10 Minuten" auf Movie-Tuts zu orientieren.

    Beachte, dass die dortige lösung bereits 2 Tabellen lädt, und zwar verknüpft, und ausserdem alle erforderlichen Updates, Inserts, Deletes ebenfalls ausprogrammiert sind.

    In glaub weniger als 20 Zeilen.