-->

Membuat Aplikasi CRUD di VB.Net dengan Database MySQL (Part 1)

halo sobat blogger semuanya, lama tidak berjumpa..., balik lagi bersama saya guzko di coretan coretan kecil ini. Mudah mudahan bisa memberikan sedikit manfaat bagi agan agan blogger semuanya.
oke kali ini saya mau membahas bagaimana caranya membuat fitur insert atau tambah data dari vb.net ke database mysql. berikut tahapannya gan :

1. MENAMBAHKAN OBJECT REFERENCE PADA VB.NET 

jika agan belum sempet membaca tulisan di blog saya sebelumnya, agan bisa baca disini tentang cara membuat koneksi serta menambahkan object reference...baca disini gan.

2. MEMBUAT TABEL DATABASE 

pada tahap ini kita akan membuat tabel untuk databasenya. silahkan agan buat database dengan nama "pelanggan" (tanpa tanda petik) dan kemudian agan buat sebuah tabel dalam database pelanggan dengan nama "user" (tanpa tanda petik). struktur tabel seperi gambar berikut gan :



3. MEMBUAT MODUL KONEKSI 

kemudian kita lanjut ke tahapan yang kedua, kita akan membuat modul koneksinya. silahkan agan ketikkan kode berikut ini :
ketikkan kode ini pada bagian paling atas atau di general declaration

Imports MySql.Data.MySqlClient
Imports MySql.Data

fungsinya kode diatas adalah untuk menambahkan mysql.data pada aplikasi yang akan kita buat sehingga bisa tersambung atau terhubung dengan database mysql.
kemudian ketikkan kode dibawah ini :

Public konek As String = "SERVER = localhost;USERID = root; PASSWORD = ;DATABASE = pelanggan; Convert Zero Datetime = True; Allow Zero Datetime = True;"
    Public sqlConnection As New MySqlConnection
    Public sqlCommand As New MySqlCommand
    Public sqlAdapter As New MySqlDataAdapter
    Public konfirmasi As New MsgBoxResult
    Public sqlReader As MySqlDataReader
    Public cur As New Form

ganti settingan koneksi ke database diatas dengan settingan xampp agan sendiri.
kemudian kita akan buat kode untuk buka tutup databasenya, kodenya seperti dibawah ini gan :

Public Sub bukaDB()
        If sqlConnection.State = ConnectionState.Closed Then
            sqlConnection.ConnectionString = konek
            sqlConnection.Open()
            'MsgBox("sukses")
        End If
    End Sub

    Public Sub TutupDB()
        With sqlConnection
            .Dispose()
            .Close()

        End With
    End Sub

kode lengkap module koneksi seperti ini gan :

Imports MySql.Data.MySqlClient
Imports MySql.Data
Module modKoneksi
    Public konek As String = "SERVER = localhost;USERID = root; PASSWORD = ;DATABASE = dbusb; Convert Zero Datetime = True; Allow Zero Datetime = True;"
    Public sqlConnection As New MySqlConnection
    Public sqlCommand As New MySqlCommand
    Public sqlAdapter As New MySqlDataAdapter
    Public konfirmasi As New MsgBoxResult
    Public sqlReader As MySqlDataReader
    Public cur As New Form

    Public Sub bukaDB()
        If sqlConnection.State = ConnectionState.Closed Then
            sqlConnection.ConnectionString = konek
            sqlConnection.Open()
            'MsgBox("sukses")
        End If
    End Sub

    Public Sub TutupDB()
        With sqlConnection
            .Dispose()
            .Close()

        End With
    End Sub

End Module


4. MEMBUAT DESIGN DAN CODING INSERT DATA
setelah kita membuat modul koneksi, sekarang waktunya kita mendesain gan.., desain simple saya seperti ini. silahkan kreasikan desain agan sendiri :


pada gambar diatas terdapat 4 buah textbox yang fungsinya untuk menampung data yang akan disimpan. Disamping textbox ID Pelanggan terdapat sebuah button untuk meng-generate id baru untuk pelanggan baru. Sedangkan fungsi button simpan dan hapus data yaitu sudah jelas untuk menghapus dan menyimpan data gan. Dan dibagian bawah ada sebuah datagrid yang fungsinya untuk menampilkan data yang kita simpan tadi, jadi data yang disimpan secara realtime akan langsung kelihatan di datagrid.

oke gan, cukup jelas ya untuk penjelasan desainnya, sekarang kita lanjut ke tahap codingnya :
kita buat sebuah fungsi dimana pada saat diload atau pada saat proses simpan selesai, inputan sudah bersih dan kosong, kodenya seperti ini :

Sub segarkan()
        txtIDPelanggan.Text = ""
        txtAlamatPelanggan.Text = ""
        txtNamaPelanggan.Text = ""
        txtNoTelp.Text = ""
        txtIDPelanggan.Focus()
        txtIDPelanggan.Enabled = False
    End Sub

dimana kode tersebut akan ditaruh pada saat form load
kode untuk button id baru :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBaru.Click
        'membuat kode pelanggan baru dengan menggunakan kombinasi
        'awalan PEL dengan tanggal dan tahun serta dengan jam menit dan detik pada waktu dicreate
        txtIDPelanggan.Text = "PEL" & DateTime.Now.ToString("ddyy") & DateTime.Now.ToString("HHmmss")
    End Sub

fungsi kode diatas adalah untuk membuat id pelanggan baru dimana id pelanggan baru itu diambil berdasarkan : awal "PEL" dikombinasikan dengan tanggal dan tahun serta dengan jam,menit dan detik pada saat dibuat.

kemudian pada event keypress text no telp, inputkan kode berikut ini :

Private Sub txtNoTelp_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtNoTelp.KeyPress
        If Not (e.KeyChar >= "0" And e.KeyChar <= "9" Or e.KeyChar = vbBack) Then
            e.Handled = True
        End If
    End Sub
dimana fungsi dari kode diatas adalah untuk mencegah user menginputkan nilai selain angka kemudian buat sebuh sub yang bernama sub aturtampilan dan ketik kode dibawah ini :
Try
            With DataGridView1
                .Columns(0).Width = 100
                .Columns(0).HeaderText = "ID Pelanggan"
                .Columns(1).Width = 200
                .Columns(1).HeaderText = "Nama Pelanggan"
                .Columns(2).Width = 250
                .Columns(2).HeaderText = "Alamat Pelanggan"
                .Columns(3).Width = 100
                .Columns(3).HeaderText = "No. Telp"
            End With
        Catch ex As Exception

        End Try
fungsi dari kode diatas adalah untuk mengatur tampilan datagrid kemudian buat kembali sub dengan nama sub tampilpelanggan dengan kode berikut :
Try
            bukaDB()
            Dim mDA As New MySqlDataAdapter("SELECT * FROM user", konek)
            Dim dt As New DataTable
            mDA.Fill(dt)
            DataGridView1.DataSource = dt
        Catch ex As Exception
            MsgBox(ex.Message)
        End Try
dan letakkan kedua sub diatas pada saat form load selanjutnya, pada button hapus data ketikkan kode berikut ini :
Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click
        txtIDPelanggan.Text = ""
        txtNoTelp.Text = ""
        txtNamaPelanggan.Text = ""
        txtAlamatPelanggan.Text = ""
        txtIDPelanggan.Focus()
    End Sub
kemudian sekarang kita masuk pada code intinya yaitu kode simpannya, ketikka kode berikut ini :
Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click
        'membuat validasi input
        If txtIDPelanggan.Text = "" Then
            MsgBox("Klik tombol id baru untuk membuat kode pelanggan", vbExclamation, "Tutorial Blog Guzko")
            cmdBaru.Focus()
            Exit Sub
        ElseIf txtNamaPelanggan.Text = "" Then
            MsgBox("Kolom nama pelanggan harus diisi", vbExclamation, "Tutorial Blog Guzko")
            txtNamaPelanggan.Focus()
            Exit Sub
        ElseIf txtAlamatPelanggan.Text = "" Then
            MsgBox("Kolom alamat pelanggan harus diisi", vbExclamation, "Tutorial Blog Guzko")
            txtAlamatPelanggan.Focus()
            Exit Sub
        ElseIf txtNoTelp.Text = "" Then
            MsgBox("kolom no telp pelanggan harus diisi", vbExclamation, "Tutorial Blog Guzko")
            txtNoTelp.Focus()
        Else
            Dim sqlSimpan As String = "INSERT INTO user(idPelanggan,namaPelanggan,alamatPelanggan,noTelpPelanggan)" & _
                "VALUES('" & txtIDPelanggan.Text & "','" & txtNamaPelanggan.Text & "','" & txtAlamatPelanggan.Text & "', " & _
                "'" & txtNoTelp.Text & "')"
            Try
                With sqlCommand
                    .CommandText = sqlSimpan
                    .Connection = sqlConnection
                    .ExecuteNonQuery()
                    tampilPelanggan()
                    aturTampilan()
                    segarkan()
                    MsgBox("Data Pelanggan Berhasil Disimpan", vbInformation, "Tutorial Blog Guzko")
                End With
            Catch ex As Exception
                MsgBox(ex.Message)
                sqlCommand.Dispose()
                TutupDB()
            End Try
        End If
    End Sub
silahkan sekarang agan jalankan program diatas, jika sesuai prosedur hasilnya akan seperti ini gan :
jika aga ingin melihat dan mendownload source lengkapnya, bisa di download melalui link yang telah saya sediakan dibawah. sekian dulu, dech udah lumayan pegel ni tangan ngetik, hehe.. kita sambung lagi tutorialnya dilain waktu... seeee uuuuu ...........

3 komentar

Click to comment