CRUD VB.NET (Create,Read,Update,Delete) Dengan Database MySQL Server (Tutorial 4)

Pada kesempatan ini saya berbagi sedikit ilmu tentang pembuatan CRUD dengan menggunakan bahasa pemograman VB.NET dengan database MySQL Server. Pada kesempatan sebelumnya saya telah membahas CRUD dengan Database SQL Server dan jika anda belum tahu cara koneksi MySQL dengan VB.Net Silahkan buka tutorial Cara Koneksi VB.Net Dengan MySQL Server.

Sebelum membahas pada pokok permasalahan sebenarnya apa sih CRUD itu? Istilah CRUD adalah singkatan dari Create Read Update Delete. Create yang berarti membuat sebuah data baru dalam database.
Read : membaca atau menampilkan data dari dalam database untuk di tampilkan dalam aplikasi yang kita buat. Update : mengubah atau mengedit data yang berada dalam database menggunakan aplikasi yang kita buat. Delete : menghapus data dari dalam database melalui aplikasi yang kita buat.

Kita lanjutkan ke pokok pembahasan. buka VB.NET nya kemudian desain lah sebuah form dan tambahkan 4 buah textbox, 4 buah button dan sebuah datagridview seperti yang nampak pada gambar berikut ini

Tampilkan Gambar



Saya akan memakai database DB_Akademik dan tabel Tbl_Mahasiswa yang struktur tabelnya seperti yang nampak pada gambar berikut ini

Tampilkan Gambar



Jika anda belum bisa membuat database di MySQL Server menggunakan aplikasi Navicat For MySQL silahkan buka tutorial ini.

Jika sudah semua silahkan tambahkan reference MySQL Data, kalau belum bisa cara menambahkannya silahkan buka tutorial ini di sana ada cara menambahkan references MySQL Data.
Supaya bisa menambahkan reference MySQL Data komputer anda harus sudah terinstall Driver mysql connector net Jika anda belum memiliki driver MySQL Connectornya silahkan download dulu dibawah ini
Link Download Driver mysql connector net
Kemudian tambahkan sebuah class dengan cara klik menu Project-Add Class kemudian beri nama ClsKoneksi seperti yang nampak pada gambar berikut ini :

Tampilkan Gambar



Kemudian klik Tombol Add. Saya menggunakan sebuah Class untuk koneksi ke database MySQL Server dan mendeklarasikan Query di dalam Class tersebut sehingga kita nanti tidak perlu lagi mendeklarasikan Variabel pada setiap form yang kita buat. Sehingga menghemat waktu dalam pengkodingan nantinya. Contohnya seperti pendeklarasian variable berikut ini

Dim Cmd As SqlCommand
Dim Conn As SqlConnection
Dim Da As SqlDataAdapter
Dim Ds As DataSet
Dim Dt As DataTable
dan lain-lain

Kemudian ketikan koding berikut ini di dalam class tersebut :

Imports MySql.Data.MySqlClient

Public Class clsKoneksi
    Protected Conn As New MySqlConnection
    Protected Cmd As New MySqlCommand
    Protected Da As New MySqlDataAdapter
    Protected Ds As New DataSet
    Protected Dt As New DataTable

    Public Function OpenConn() As Boolean
        Conn = New MySqlConnection("server=127.0.0.1;" _
                                & "user id=root;" _
                                & "password=;" _
                                & "database=DB_Akademik")
        Conn.Open()

        If Conn.State <> ConnectionState.Open Then
            Return False
        Else
            Return True
        End If
    End Function

    Public Sub CloseConn()
        If Not IsNothing(Conn) Then
            Conn.Close()
            Conn = Nothing
        End If
    End Sub

    Public Function ExecuteQuery(ByVal Query As String) As DataTable
        If Not OpenConn() Then
            MsgBox("Koneksi Gagal....!", MsgBoxStyle.Critical, " Access Failed")
            Return Nothing
            Exit Function
        End If

        Cmd = New MySqlCommand(Query, Conn)
        Da = New MySqlDataAdapter
        Da.SelectCommand = Cmd
        Ds = New Data.DataSet
        Da.Fill(Ds)
        Dt = Ds.Tables(0)
        Return Dt
        Dt = Nothing
        Ds = Nothing
        Da = Nothing
        Cmd = Nothing
        CloseConn()
    End Function

    Public Sub ExecuteNonQuery(ByVal Query As String)
        If Not OpenConn() Then
            MsgBox("Koneksi Gagal...!", MsgBoxStyle.Critical, "Access Failed")
            Exit Sub
        End If

        Cmd = New MySqlCommand

        Cmd.Connection = Conn
        Cmd.CommandType = CommandType.Text
        Cmd.CommandText = Query
        Cmd.ExecuteNonQuery()
        Cmd = Nothing
        CloseConn()
    End Sub
End Class


NB :
Jika MySQL anda ada passwordnya silahkan passwordnya di isi pada function OpenConn di atas.

Jika sudah ketikan koding berikut ini pada form yang telah kita desain tadi

Public Class Form1
    'Mendeklarasikan variable
    Dim Proses As New clsKoneksi
    Dim TblMhs As DataTable
    Dim SSQL As String

    'Koding untuk mengosongkan Textbox
    Private Sub Kosong()
        txtNim.Text = ""
        txtNama.Text = ""
        txtAlamat.Text = ""
        txtJurusan.Text = ""
        txtNim.Focus()
    End Sub

    'Koding untuk menampilkan data ke DataGridView
    Private Sub TampilData()
        TblMhs = Proses.ExecuteQuery("SELECT * FROM tbl_Mahasiswa")
        DGV.DataSource = TblMhs
        DGV.ReadOnly = True
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Call TampilData()
    End Sub

    'Koding untuk Keluar dari aplikasi
    Private Sub btnExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExit.Click
        Close()
    End Sub

    'Koding untuk tombol Save
    Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
        Try
            'koding untuk menyimpan data
            If btnSave.Text = "&Save" Then
                SSQL = ""
                SSQL = "INSERT INTO Tbl_Mahasiswa VALUES('" & txtNim.Text & "','" & txtNama.Text & "','" & txtAlamat.Text & "','" & txtJurusan.Text & "')"
                Proses.ExecuteNonQuery(SSQL)
                Call Kosong()
                Call TampilData()
                'Koding untuk edit data
            ElseIf btnSave.Text = "&Update" Then
                SSQL = ""
                SSQL = "UPDATE Tbl_Mahasiswa Set nama='" & txtNama.Text & "',Alamat='" & txtAlamat.Text & "',jurusan='" & txtJurusan.Text & "' WHERE nim='" & txtNim.Text & "'"
                Proses.ExecuteNonQuery(SSQL)

                Call Kosong()
                Call TampilData()
                btnSave.Text = "&Save"
                txtNim.Enabled = True
            End If
        Catch ex As Exception
            MessageBox.Show("Proses Penyimpanan Gagal !, Karena " & ex.Message)
        End Try
    End Sub

    'Koding untuk tombol calcel
    Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click
        Call Kosong()
        btnSave.Text = "&Save"
        txtNim.Enabled = True
    End Sub

    'Koding tombol hapus data
    Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click
        If MessageBox.Show("Yakin Data Ini Akan dihapus?", "Konfirmasi...?", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
            SSQL = ""
            SSQL = "DELETE FROM Tbl_Mahasiswa WHERE nim ='" & txtNim.Text & "'"
            Proses.ExecuteNonQuery(SSQL)
            Call Kosong()
            Call TampilData()

            txtNim.Enabled = True
            btnSave.Text = "&Save"
        Else
            Call Kosong()
            txtNim.Enabled = True
            btnSave.Text = "&Save"
        End If
    End Sub

    'untuk Menampilkan data dari DataGridViewdata 
    'ke textbox saat gridview di double klik
    Private Sub DGV_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles DGV.DoubleClick
        txtNim.Text = DGV.Item(0, DGV.CurrentRow.Index).Value
        txtNama.Text = DGV.Item(1, DGV.CurrentRow.Index).Value
        txtAlamat.Text = DGV.Item(2, DGV.CurrentRow.Index).Value
        txtJurusan.Text = DGV.Item(3, DGV.CurrentRow.Index).Value
        btnSave.Text = "&Update"
        txtNim.Enabled = False
    End Sub
End Class

Jika sudah lalu simpan dan jalankan. Jika anda menginginkan source codenya silahkan download di link berikut ini. Source code tersebut tidak saya sertakan databasenya silahkan buat sendiri database dan tabelnya, samakan dengan contoh di atas.

Download Link

Silahkan buka juga tutorial CRUD VB.NET dengan SQL Server. Demikian tutorial dari saya semoga dapat bermanfaat bagi anda amien.


Tags:
CRUD VB.NET (Create,Read,Update,Delete) Database MySQL, Save Edit Delete Dalam VB.Net Dengan Database MySQL Server, Source Code Simpan Hapus Edit dalam VB.Net Dengan Database MySQL Server, INSERT, READ, EDIT, DELETE (CRUD) VB .Net dengan databae MySQL Server, TUTORIAL MEMBUAT APLIKASI CRUD SEDERHANA DI VB.NET dengan Database MySQL Server, Source Code Simpan Hapus Edit Delete Dengan VB.Net,

2 comments:

  1. Excellent post. I will bbe goinng through some of these issues as well..

    ReplyDelete
  2. om, klo coding koneksi itu dijadikan koneksi dinamis ngerubahnya gmn ya ?

    ReplyDelete