Jumat, 25 September 2020

Vb.Net Mysql: Create, Read, Update, Delete (Crud) - Part 2

Part 4

Artikel ini lanjutan dari Part 1 ini yah.

Next step, kita mau buat fasiltas buat edit/mengubah data yang sudah ada. Bagaimana user mengedit data? Pertama mereka akan memilih data yang ada di grid, kemudian melaksanakan double klik untuk menampilkan data yang akan di edit di control input (textbox). Maka kita akan membuat code berikut pada event grdData_CellMouseDoubleClick.

Private Sub grdData_CellMouseDoubleClick(ByVal sender As Object, _
    ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) _
    Handles grdData.CellMouseDoubleClick

    txtCode.Text = grdData.CurrentRow.Cells(0).Value
    txtName.Text = grdData.CurrentRow.Cells(1).Value

    tbrEdit.Enabled = False
    txtCode.ReadOnly = True

End Sub


Kita menambahkan txtCode.ReadOnly = True, untuk mengunci aba-aba agar tidak dapat diedit alasannya ialah primary key. Selain dapat langsung double klik pada grid, user juga dapat memilih row data kemudian klik tombol Edit, maka perlu procedure yang sama pada event tbrEdit_Click. Tapi kita tidak akan mengetik ulang code melainkan memanggil sub procedure event CellMouseDoubleClick seperti berikut:

Private Sub tbrEdit_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles tbrEdit.Click

    grdData_CellMouseDoubleClick(Nothing, Nothing)

End Sub


Oiya sebelum lanjut ke Saving pergeseran, kita tambahkan dahulu code di event tbrCancel_Click dulu yah. Karena procedure ini akan dipanggil beberapa kali. Fungsinya adalah untuk membersihkan control input, refresh ulang data, dan membatalkan proses input baru/edit selama belum di Save.

Private Sub tbrCancel_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles tbrCancel.Click
    txtCode.Text = String.Empty
    txtName.Text = String.Empty
    tbrEdit.Enabled = True
    txtCode.ReadOnly = False
    Data_Load()
End Sub


Code tbrEdit.Enabled = False selaku parameter pembeda, apakah status input sedang input gres atau sedang edit data. Karena untuk menyimpan pergantian memakai event yang serupa yakni tbrSave_Click. Kita akan mengganti dan menyertakan beberapa code pada event ini. (Rani tandai dengan highlight perubahannya yah)

Private Sub tbrSave_Click(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles tbrSave.Click

    Dim myCommand As New MySqlCommand

    conn = New MySqlConnection()
    conn.ConnectionString = "server=localhost;user id=root;" & _
                            "password=;database=datapos"
    Try
        conn.Open()
        If tbrEdit.Enabled = True Then
            SQL = "INSERT INTO class (classcode, classname) VALUES " & _
                  "('" & txtCode.Text & "', '" & txtName.Text & "')"
        Else
            SQL = "UPDATE class SET classname = '" & txtName.Text & "' " & _
                  "WHERE classcode = '" & txtCode.Text & "'"
        End If

        myCommand.Connection = conn
        myCommand.CommandText = SQL
        myCommand.ExecuteNonQuery()

        If tbrEdit.Enabled = True Then
            MsgBox("Data gres tersimpan")
        Else
            MsgBox("Perubahan tersimpan")
        End If

        tbrCancel_Click(Nothing, Nothing)

        conn.Close()
    Catch myerror As MySqlException
        MessageBox.Show("Error: " & myerror.Message)
    Finally
        conn.Dispose()
    End Try

End Sub

Sekarang mari kita coba lagi.


Jangan kemana-mana dulu, Part 3 masih lanjut membahas soal Delete dan Close Form.

Tutorial VB.NET dan MySQL Lainnya 

Click here if you like this article.



Sumber http://rani-irsan.blogspot.com


EmoticonEmoticon