forgottenrealm
Goto Top

Aktualisieren einer Datenbank aus DGV Mithilfe vom CommandBuilder

Guten Tag,

ich erstelle eine Anwendung in vb.net (4.5) die eine online Datenbank (MySQL) in ein DGV überträgt, die Änderungen sollen nach dem Ändern Mithilfe des CommandBuilders automatisch vorgenommen werden.


        ...
        Public_tbl_Downloads_MySQLAdapter = New MySqlDataAdapter(TV_SQLString, Public_SQLConnectString)
        Dim commandBuilder As New MySqlCommandBuilder(Public_tbl_Downloads_MySQLAdapter)
        Public_tbl_Downloads_BindingSource.DataSource = Public_tbl_Downloads_DataTable
        ...


    Private Sub dgv_Aktualisieren(sender As Object, e As DataGridViewCellEventArgs) Handles dgv_Downloads.CellEndEdit
        ...
        Public_tbl_Downloads_MySQLAdapter.Update(CType(Public_tbl_Downloads_BindingSource.DataSource, DataTable))
        ...
    End Sub

Das funktioniert soweit gut, solange ich die Zeilen im DGV mit einem Mausklick verlasse.

Sobald ich die aktuell beschriebene Zelle mit der Tastatur verlasse (Enter, Tab, Pfeiltasten ...), werden die Änderungen im DGV gemacht, die Aktion " dgv_Aktualisieren" wird auch aufgerufen, allerdings wird der Update der Datenbank über MySQLAdapter.Update nicht ausgeführt (keine Fehlermeldung oder ähnliches). Dabei ist es egal, ob ich nur die Celle oder die gesamte Row wechsel, es wird kein Update der Datenbank durchgeführt.

Ich hatte vor einigen Tagen bereits über Suchmaschinen erfahren, dass andere das Selbe Problem aber keine Lösung dafür hatten.

Auch das Ausführen der Funktion über einen Button, was den Fokuswechsel der Maus zum Button zur Folge haben sollte, und somit dem Wechseln durch Mausklick in ein anderes Feld des DGV gleichkommen sollte, funktioniert leider nicht.

Sollte der Programmcode so nicht ausreichen, reiche ich gerne weiteren nach um das Problem notfalls nachstellen zu können.

Ich hoffe, ihr könnt mir helfen das Problem zu finden face-smile

Update: Mit dem Aufruf des Updates über einen Button funktioniert es, allerdings kann das ja nicht die Lösung sein, dass nach jeder Änderung ein Button gedrückt werden muss face-sad

Content-ID: 226742

Url: https://administrator.de/contentid/226742

Ausgedruckt am: 04.12.2024 um 08:12 Uhr

colinardo
colinardo 15.01.2014 um 15:33:33 Uhr
Goto Top
Hi ForgottenRealm,
eventuell ist der Inhalt des DataGridView zum Zeitpunkt des "CellEndEdit"-Ereignisses noch nicht aktualisiert worden. Versuch mal deinen Code an das CellValueChanged-Event zu binden.

Grüße Uwe