Hi Comm,
ich habe eine MySQLDatenbank und will per Datagridview einen Eintrag hinzufügen lassen.
Für das Editieren habe ich das so gelöst:
Aber beim Hinzufügen scheitere ich..
Hoffe mir kann einer (oder mehrere) helfen!
Danke schon im Vorraus!
ich habe eine MySQLDatenbank und will per Datagridview einen Eintrag hinzufügen lassen.
Für das Editieren habe ich das so gelöst:
VB.NET-Quellcode
- Public Class DGVEntry
- Public RowIndx As Integer
- Public ColumnIndx As Integer
- Public oldVal As String
- End Class
- Dim entr As New List(Of DGVEntry)
- Dim ent As New DGVEntry
- Private Sub DataGridView1_CellBeginEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellCancelEventArgs) Handles DataGridView1.CellBeginEdit
- ent = New DGVEntry
- ent.oldVal = DataGridView1.Rows(DataGridView1.SelectedCells(0).RowIndex).Cells(0).Value.ToString
- ent.RowIndx = DataGridView1.SelectedCells(0).RowIndex
- ent.ColumnIndx = DataGridView1.SelectedCells(0).ColumnIndex
- entr.Add(ent)
- End Sub
- Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
- SaveButton.Enabled = True
- End Sub
- Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click
- Dim cmdTxT As String = Nothing
- For i = 0 To entr.Count - 1
- Dim tbl As String = SelectedTable
- Dim newVal As String = DataGridView1.Rows(entr(i).RowIndx).Cells(entr(i).ColumnIndx).Value
- If newVal = "True" Then newVal = 1
- If newVal = "False" Then newVal = 0
- Dim oldVal As String = entr(i).oldVal
- Dim ValClmn1 As String = DataGridView1.Columns(entr(i).ColumnIndx).HeaderText
- Dim ValClmn2 As String = DataGridView1.Columns(0).HeaderText
- cmdTxT &= "UPDATE " & tbl & " SET " & ValClmn1 & "='" & newVal & "' WHERE " & ValClmn2 & "='" & oldVal & "';" & vbNewLine
- Next
- Try
- Dim mycommand As New MySqlCommand(cmdTxT, Conn)
- mycommand.ExecuteNonQuery()
- entr.Clear()
- cmdTxT = Nothing
- SaveButton.Enabled = False
- Catch mysqlex As MySqlException
- MsgBox(mysqlex.Message.ToString, MsgBoxStyle.Critical)
- Catch ex As Exception
- MsgBox(ex.Message.ToString, MsgBoxStyle.Critical)
- End Try
- End Sub
Aber beim Hinzufügen scheitere ich..
Hoffe mir kann einer (oder mehrere) helfen!
Danke schon im Vorraus!
LG
Merio
Merio