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
Saya akan memakai database DB_Akademik dan tabel Tbl_Mahasiswa yang struktur tabelnya seperti yang nampak pada gambar berikut ini
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 :
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,
Excellent post. I will bbe goinng through some of these issues as well..
ReplyDeleteom, klo coding koneksi itu dijadikan koneksi dinamis ngerubahnya gmn ya ?
ReplyDelete