14 April 2015


Part 1 | Part 2 | Part 3 | Part 4

Setelah terbengkalai sekian lama menunggu mood hehe... mari kita mulai membahas bagaimana proses CRUD pada VB.NET dan MySQL.
Pastikan udah baca dulu artikel sebelumnya yah No 1 s/d 3.

Kita akan membuat CRUD untuk tabel berikut:

 Pertama-tama kita siapkan tombol-tombol pendukungnya, yaitu Save, Edit, Delete, Cancel, dan Exit.
Pada contoh di sini Rani buat tombol nya pakai ToolStrip Control.

Detail cara membuatnya lihat disini yah...
Tambahkan juga beberapa label, textbox dan datagridview seperti pada gambar berikut:
Tambahkan panel untuk menyimpan label dan textbox untuk input data, kemudian set property Dock = Top. Terakhir tambahkan datagridview dan set property Dock = Fill. Beri nama control-control seperti pada gambar.
Beres dengan UI, mari kita mulai dengan code behind.
Import MySqlClient dan System.Data:
Imports MySql.Data.MySqlClient
Imports System.Data


Deklarasikan sebuah objek koneksi dan sebuah variable string untuk menyimpan query di dalam Class Form (Rani kasih nama form nya frmClass)
Public Class frmClass
    Dim conn As MySqlConnection
    Dim SQL As String

 
End Class


Kemudian kita akan membuat sub procedure bernama Data_Load untuk menampilkan data ke dalam datagridview. Pastikan untuk menyimpan procedure ini di dalam class form. Pada sub procedure ini juga Rani menambahkan Try Catch sebagai error handling.
Sub Data_Load()
    Dim myCommand As New MySqlCommand
    Dim myAdapter As New MySqlDataAdapter
    Dim myData As New DataTable

    conn = New MySqlConnection()
    conn.ConnectionString = "server=localhost;user id=root;" & _
                            "password=;database=datapos"
    Try
        If conn.State = ConnectionState.Closed Then conn.Open()
        SQL = "Select classcode, classname From class"

        myCommand.Connection = conn
        myCommand.CommandText = SQL

        myAdapter.SelectCommand = myCommand
        myAdapter.Fill(myData)
        With grdData
            .DataSource = myData
            .AllowUserToAddRows = False
            .AllowUserToDeleteRows = False
            .ReadOnly = True

            .Columns(0).HeaderText = "Kode Kelas"
            .Columns(1).HeaderText = "Nama Kelas"
            .Columns(0).Width = 100
            .Columns(1).Width = 250
        End With

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


Kita perlu menampilkan data ke dalam grid saat pertama form dibuka, karena itu kita akan memanggil sub procedure Data_Load pada event Form_Load
Private Sub frmClass_Load(ByVal sender As Object, _
    ByVal e As System.EventArgs) Handles Me.Load
    Data_Load()
End Sub


Lanjuuut.... kita akan membuat procedure untuk membuat data baru. User akan memasukan data pada textbox kode dan nama, kemudian klik toolbar Save untuk menyimpan data baru ke database. Berikut code yang ditulis pada event tblSave_Click.
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()
        SQL = "INSERT INTO class (classcode, classname) VALUES " & _
              "('" & txtCode.Text & "', '" & txtName.Text & "')"

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

        MsgBox("Data baru tersimpan")
        

        txtCode.Text = String.Empty
        txtName.Text = String.Empty
        Data_Load()

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


Sebuah message box (pesan) ditambahkan setelah proses insert sebagai penanda jika proses input data baru telah berhasil. Procedure Data_Load dipanggil lagi kemudian agar perubahan dapat ditampilkan di grid.
Mari kita coba dulu menjalankan form dan menginput sebuah data baru.

Belum beres, lanjut ke Part 2 yaa...

Tutorial VB.NET dan MySQL Lainnya

Click here if you like this article.


3 comments:

Dewi Mulyani said...

Thanks banget ya kak Rani, sangat bermanfaat sekali dan jelas step by step. :)

Kunjungi blog aku ya kak http://studyingeverything.blogspot.co.id/

hijram mahjura said...

mbak klo databasenya pakai xampp koding koneksinya jadi seperti apa ?

rani irsan said...

di artikel ini saya pakai xampp, yang didalamnya pake database mysql
xampp bukan database hehe...