VB.net: Datenbankeintrag in DataGridView bearbeiten

DATENBANKEINTAG IN DATAGRIDVIEW BEARBEITEN

In den vorhergegangenen Anleitungen wurde bereits erklärt, wie man eine Verbindung zu der Datenbank aufbaut und die Einträge in DataGridView aufgelistet bzw. angezeigt werden. In diesem Beitrag geht es jetzt um die Manipulation/Änderungen von Datenbankeinträgen in der DataGridView-Tabelle – d.h. man wählt einen Eintrag mit einem Rechtsklick (Steuerelement „ContextMenuStrip“).

Funktionsweise (in Klammern der Name des Steuerelements):
Der entsprechende Eintrag in der DataGridView-Tabelle (dbgrid) wird mit einem Rechtsklick und im Kontextmenü (ContentMenuStrip) „Stöung ist behoben“ ausgewählt. Der Button „Speichern“ (btnSpeichern) ist dann auch aktiv. Unter „Abschlussmeldung“ (txtaMeldung) muss noch eine Beschreibung der Entstörung erfolgen.

Wenn man den Button „Speichern“ anklickt, erfolgt der folgende Code:

Private Sub btnSpeichern_Click(sender As Object, e As EventArgs) Handles btnSpeichern.Click

Dim id As String
Dim sql As String
Dim cmd As MySqlCommand

If MsgBox("Diese Störung jetzt als beseitigt markieren?", MsgBoxStyle.YesNo) = MsgBoxResult.Yes Then

   'prüfen ob eine Abschlussmeldung eintragen wurde - wenn nicht, dann abbruch..
   If Len(txtaMeldung.Text) = 0 Then 'ist 
    MsgBox("Bitte eine kurze Info zur Beseitigung eingeben")
    txtaMeldung.Focus()
    Exit Sub
   End If

   sql = "update tblmonitor set visible = 0,abschlussmeldung = '" & txtaMeldung.Text & "' where formPrim = " & id
   
   Try 'ErrorHandling
     cmd = New MySqlCommand(sql, conn)
     cmd.BeginExecuteNonQuery() 'Initiiert die asynchrone Ausführung der Transact-SQL-Anweisung oder der gespeicherten Prozedur, die durch diese SqlCommand beschrieben ist.
     txtaMeldung.Clear() 'Leeren des Textfeldes ABSCHLUSSMELDUNG
     datenAbfragen()
     btnSpeichern.Enabled = False
   Catch ex As Exception
     MsgBox("Änderung des Status nicht möglich")
   End Try
End If

End Sub

Erläuterung
In der Tabelle werden alle Einträge angezeigt, die unter „visible“ den Eintrag 1 haben. Ist der Vorgang abgeschlossen, soll dieser nicht mehr angezeigt werden. Der Eintrag bekommt unter visible den Wert 0 zugewiesen und ist somit nicht mehr in der Auflistung dabei. Die SQL-Anweisung dazu sieht folgendermaßen aus:

sql = „update tblmonitor set visible = 0,abschlussmeldung = ‚“ & txtaMeldung.Text & „‚ where formPrim = “ & id“

Mit „Update“ wird die Änderung in der Datenbanktabelle „tblmonitor“ in der entsprechenden Zeile „visible“ auf „0“ gesetzt und ist somit nicht mehr sichtbar in der Auflistung. Die Abschlussmeldung wird über das Steuerelement „txtaMeldung“ in die über „where“ (Filterung) zugeordneten Vorgang eingetragen.

Beim Klicken des Buttons „Beenden“, wird das Fester mit dem Befehl „close()“ geschlossen.

einen Kommentar senden...

Die E-Mail-Adresse wird nicht veröffentlicht.