DATENBANKEINTAG IN DATAGRIDVIEW BEARBEITEN
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.