-->

AK Studio

Tutorial Programming Bahasa Indonesia

TUTORIAL CRUD VB.NET Mysql Part#5 : Delete menghapus data pada Vb.net dan MySQL


kembali lagi pada tutorial CRUD Vb.net dan database Mysql, pada tutorial Part#5 ini , kita akan mencoba membuat Module terakhir dari serial CRUD Vb.net dan Database Mysql, yaitu Module Delete atau menghapus data.

pada Tutorial sebelum nya kita sudah menyelesaikan Module Create, Read , Update, dan Module Delete ini merupakan fitur atau module Terakhir dari serial Crud Vb.net Mysql ini.

Langsung saja Buka kembali project yang sudah kita buat pada tutorial sebelumnya, lalu kita perlu menambahkan Procedure atau fungsi hapus data di dalam Module M_Helper yang sudah kita buat sebelumnya, pastikan project yang sudah kita buat berjalan dengan baik tanpa ada error atau masalah pada coding nya. agar kita lebih meudah melanjutkan dan membuar funsgi hapus data pada vb.nrt dan Mysql .

langsung saja kita lanjut ketutorial nya.

1. Membuat Procedure Hapus data 

selanjut nya kita perlu membuat fungsi hapus data yang akan di simpan pada Module M_Helper, untuk logic saat pengahousan data itu sendiri kita melakukan nya seperti ini.

Cek dulu data dari User , jika user ada atau mengUpload photo profile  maka kita hapus hapus juga file photo nya di dalam Folder USER_PROFILE, lalu baru hapus data nya di dalam database.

Buka File Module M_helper dan tambahkan koding beirkut ini.

Procedure atau Fungsi Hapus data:
Public Function cm07DeleteDataUser(ByVal prmIdUser As Integer, ByVal prmTampilNotif As Boolean)
        Dim sqlCmd As String = ""

        '************************************************************************************'
        ' HAPUS PHOTO USER '
        ' ambil path folder penyimpanan foto'
        '************************************************************************************'
        Dim prmPATHFolder = cm06PatchUploadFoto()
        Dim prmNamaFotoUser As String = ""

        Dim pdtDetailUser As New DataTable
        pdtDetailUser.Clear()

        ' cek ke data base untuk ambil file name foto user'
        pdtDetailUser = cm04GetUserByID(prmIdUser)

        For i As Integer = 0 To pdtDetailUser.Rows.Count - 1

            ' isi nama foto user'
            prmNamaFotoUser = pdtDetailUser.Rows(i).Item(6)

            ' cek jika photo tidak kosong maka tidak di hapus'
            If Not String.IsNullOrEmpty(prmNamaFotoUser) Then
                ' Hapus Data foto User jika file di temukan'
                If File.Exists(prmPATHFolder & "\" & prmNamaFotoUser) Then
                    My.Computer.FileSystem.DeleteFile(prmPATHFolder & "\" & prmNamaFotoUser)
                End If
            End If

        Next

        '************************************************************************************'
        ' HAPUS DATA USER Dari database'
        ' ambil path folder penyimpanan foto'
        '************************************************************************************'
        ' panggil ulang open koneksi karna di atas kita memanggil fungsi cm04GetUserByID(), di dalam ini ada fungsi closes koneksi'
        cm01Koneksi()
        sqlCmd = "DELETE FROM USER WHERE id = @prmIdUser"

        cmd = New MySqlCommand(sqlCmd, conn)
        cmd.Parameters.AddWithValue("@prmIdUser", prmIdUser)

        ' parameter resposes Row Efected dari hasil Execute Query dari database'
        Dim result As Integer
        result = cmd.ExecuteNonQuery()

        If result > 0 Then
            ' Jika tampikan notif di isi true makan pesan akan tampil '
            If prmTampilNotif Then
                MessageBox.Show("Hapus Data User Berhasil", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End If
        Else
            MessageBox.Show("Gagal Hapus Data", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If

        conn.Close()
        Return result
    End Function


Penjelasan:
fungsi hapus data ini kita buat menjadi sebuat function atau procedure yang  memiliki Output, yaitu berupa response yang kita terima dari hasil execute Query dari database nya, atau hasil row Effected nya yang kita ambil, untuk mengetahui berapa banyak data yg berhasil di hapus

dan didalam fungsi hapus data ini kita memberikan dua paramater yaitu
Iduser : nanti akan di isi dari proses looping di from display data
TampilPesan : untuk menampilkan pesan berhasil di hapus, karna kita lalukan proses hapus di dalam looping, logic nya setiap data berhasil di hapus pesan akan muncul, jika kita mengahpus 10 data, maka pesan ini akan muncul sebanyak 10 x , nah maka dari itu saya buatkan opsional, untuk menapilkan pesan berhasil di hapus nya, 

karna fungsi hapus ini akan kita jalankan pada fungsi Looping untuk mengammbil nilai datagridview yang terselect saja checkbox nya yang akan di hapus data nya


2.Memanggil Procedure atau Fungsi Hapus Data

seletelah membuat sebuah procedure atau fungsi hapus data nya, kita perlu memanggil fungsi hapus data ini di dalam formdisplay data, kenapa..?

karna kita akan mengambil nila dari checkbox yang sudah kita buat di gridViewnya, untuk menghapus datanya. jika checbox pada Gridview di select atau di ceklis maka data ini terpilih untuk di hapus.

selanjutnya untuk mengetahui data mana yang terpilih atau terceklis digridview nya, kita perlu melakukan proses looping rows dari gridview nya, dan kita memfilter data yang terceklis saja, lalu kita ambil data id user yang terceklis dan kita kirim ke procedure Hapus data memlalui parameter id User yang sudah kita buat.

buka form display data dan buat sebuah procedure untuk looping gridwiew nya dan memanggil fungsi hapus data yang sudah kita buat, untuk coding nya seperti berikut ini

Membuat Procedure fungsi looping dan hapus data :
simpan di dalam form display data,
Private Sub cm05HapusUser()

        Dim idUser As Integer = 0
        Dim countdeleteUser As Integer = 0

        'Loping rows dari gridview nya'
        For i As Integer = 0 To gvDataUser.RowCount - 1

            Dim rows As DataGridViewRow = gvDataUser.Rows(i)

            ' ambil data yang row checkbox nya ter cklis saja'
            If rows.Cells(0).Value Then

                ' Ambil ID User dari data yang terceklis saja '
                idUser = rows.Cells(1).Value

                ' Menanggail Fungsi hapus data user dan menerima respose nya untuk di count'
                countdeleteUser += cm07DeleteDataUser(idUser, False)
            End If

        Next i

        MessageBox.Show("berhasil Menghapus " & countdeleteUser & " data User ", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)

        cm02TampilDataUser()
    End Sub


Penjelasan:
untuk detail penjelasan nya dapat di baca pada comment yang di berikan di setiap line coding nya, agar lebih paham proses apa saja yang di lakukan di dalam fungsi yang kita buat


3.Fungsi Event Tambahan Checkbox pada Gridview

untuk beberapa case, jika checkbox yang di pasang pada gridview, jika sudah di unCeklis, nilai nya tetap True atau di anggap terpilih.

untuk menangani case ini kita perlu memberikan event tambahan pada gridview nya agar jika sudah tidak di cklis nilai atau value dari column chcekbox ini menjadi False.

untuk fungsi ini di tambahkan pada event CellContentClick , di gridview nya, seperti cara sebelumnya. pilih peorpertis combobox pada bagian atas koding. pilih gridview nya dan pilih event CellContentClick

dan untuk fungsi nya, tambahkan koding berikut ini:

fungsi CellContentClick gridview:
Private Sub gvDataUser_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles gvDataUser.CellContentClick

        ' jika doubel cklik di colomun chekbox saja
        If e.ColumnIndex = 0 Then

            Dim cell As DataGridViewCheckBoxCell = gvDataUser.Rows(e.RowIndex).Cells(0)

            ' Ubah nilai menjadi nilai yang berlawanan
            If cell.Value Is Nothing OrElse cell.Value = False Then
                ' jika checkbox tidak di ceklis atau tidak terpilih value = flase'
                cell.Value = True
            Else
                ' jika checkbox diceklis atau terpilih value = true'
                cell.Value = False
            End If

            ' Refresh grid view'
            gvDataUser.Refresh()
         End If

    End Sub

penejelasan:
penjelasan detail terdapat pada coment yang di berikan pada setiap line coding nya


4.Memanggil Fungsi Hapus Data pada Menu Delete

selanjutanya kita tinggal memanggil fungsi hapus data pada Menu item delete data yang sudah kita buat pada menustrip nya. untuk cara memanggil fungsi hapus data nya, tinggal klik dua kali pada menu Delete dan panggil fungsi hapus data, seperti koding berikut ini;

Memanggil Fungsi Hapus data pada MenuStrip:
Private Sub DeleteToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles DeleteToolStripMenuItem.Click
        Dim plYes As MsgBoxResult = MsgBox("Apakah anda yakin data ini akan di hapus ... ?", vbYesNo + MsgBoxStyle.Question, "Konfirmasi...")

        If plYes = MsgBoxResult.Yes Then
            cm05HapusUser()
        End If

    End Sub

Penjelasan:
sebelum menghapus data yang di pilih kita mmebuat sebuah, Messagebox konfirmasi, untuk user melakukan konfirmasi, apakah data yakin akan di hapus.

jika pilih yes maka fungsi hapus data akan di jalankan, dan jika pilih no atau tidak fungsi hapus data tidak akan di jalankan.

seharus nya jika mengikuti step di atas dengan benar, lalau save dan build project, kita sudah berhasil membuat fungsi hapus data.

lalau kita akan mencoba menambahkan fungsi select all pada checkbox select all yang sudah kita buat, mungkin jika data masiih sedikit kita masih bisa memilih satu per satu data yang akan di hapus, namu jika data sudah banyak hal ini agak sedikit merepotkan dan memakan waktu.

5.Membuat Fungsi Select All untuk checkbox GridView

buat sebuah procedure untuk memberi nilai true pada semua checkbox yang ada pada gridview nya, untuk nilai atau value nya kita ambil dari checkbox select all.

untuk logic nya, jika chekbox select all kita ceklis, maka semua checkbox yang ada pada gridview nya di set value true dan checkbox ter ceklis semua, lalu text dari checkbox select all kita ganti jadi Un select All.

dan jika checkbox select all kita unckelis maka, semua checkbox yang ada pada datagridview kita set values nya jadi false , dan checkbox tidak terceklis, dan text nya kita kembalikan jadi select all.

untuk melakukan nya kita jiga akan menggunakan operator perlunagan. dan kita akan looping semua data yang ada pada gridview nya. untuk fungsi atau coding select All nya seperti berikut:

fungsi select Un Select All:
fungsi ini kita tambahkan masih di dalam form Display data.
Private Sub cm06SelectUnSelect()
        Dim selected As Boolean

        'Ambil value dari cbSelect All'
        selected = cbSelectAll.CheckState

        'Ganti text pada checkBox nya'
        If selected Then
            cbSelectAll.Text = "Un Select All"
        Else

            cbSelectAll.Text = "Select All"
        End If

        For Each row As DataGridViewRow In gvDataUser.Rows

            'Ambil cell checkbox pada colomn gridview nya'
            Dim cell As DataGridViewCheckBoxCell = row.Cells(0)

            'set nilai valuenya sesuai checkbox select all'
            cell.Value = selected
        Next

        ' Refresh datagridviewnya'
        gvDataUser.Refresh()
    End Sub


memanggil fungsi select Un select nya pada checkbox select all, cara nya tinggal klik dua kali pada checkbox select all di deginform nya, atau bisa pilih event nya pada combobox paling atas pada editor koding nya, pilih cbselectall dan beri event CheckedChanged.

untuk coding pemanggilan fungsi select unselect all nya seperti koding berikut ini:

Memanggil fungsi Select Un Select All:
Private Sub selectAll_CheckedChanged(sender As Object, e As EventArgs) Handles cbSelectAll.CheckedChanged
        cm06SelectUnSelect()
End Sub

6.Bonus Data Dummy Untuk ujicoba fungsi Delete

disini saya siapkan 10 data Dummy untuk di insert into kedalam database Kalian, agar tidak perlu input satau persatu data, untuk uji coba fungsi hapus data.

tinggal buka phpmyAdmin dan pastekan Query ini, dan seusai kan dengan urutan column yang kalian buat di tabel databasenya, jika tabel database nya sama tinggal di eksekusi query ini.

query insert data Dummy:
 untuk gambar disini kita kosongkan saja
INSERT INTO `dbtutorial`.`user` (id, NamaUser, Tgllahir, Alamat, Nohp, Email, Photo, JenisKelamin) VALUES
(1, 'Andi Pratama', '1995-01-12', 'Jl. Melati No. 10, Jakarta', '081234567890', 'andi.pratama@gmail.com', '', 'Laki-laki'),
(2, 'Siti Rahmawati', '1998-05-24', 'Jl. Mawar No. 7, Bandung', '081345678901', 'siti.rahma@gmail.com', '', 'Perempuan'),
(3, 'Budi Santoso', '1993-11-30', 'Jl. Kenanga No. 15, Surabaya', '081456789012', 'budi.santoso@gmail.com', '', 'Laki-laki'),
(4, 'Lina Oktavia', '2000-03-18', 'Jl. Anggrek No. 12, Medan', '081567890123', 'lina.oktavia@gmail.com', '', 'Perempuan'),
(5, 'Ahmad Fauzan', '1989-08-09', 'Jl. Bougenville No. 3, Makassar', '081678901234', 'ahmad.fauzan@gmail.com', '', 'Laki-laki'),
(6, 'Dina Aprilia', '1997-07-15', 'Jl. Sakura No. 8, Semarang', '081789012345', 'dina.aprilia@gmail.com', '', 'Perempuan'),
(7, 'Fadli Ramadhan', '1992-12-01', 'Jl. Tulip No. 5, Yogyakarta', '081890123456', 'fadli.ramadhan@gmail.com', '', 'Laki-laki'),
(8, 'Maya Puspita', '1999-02-20', 'Jl. Flamboyan No. 2, Bali', '081901234567', 'maya.puspita@gmail.com', '', 'Perempuan'),
(9, 'Rudi Hartono', '1994-09-13', 'Jl. Cemara No. 6, Palembang', '082012345678', 'rudi.hartono@gmail.com', '', 'Laki-laki'),
(10, 'Elsa Nuraini', '2001-06-25', 'Jl. Dahlia No. 4, Samarinda', '082123456789', 'elsa.nuraini@gmail.com', '', 'Perempuan');


jika sudah di tambahkan lalau save dan rebuild project nya lalu, jalankan program nya, jika berhasil dan hasil akhir dari tutorial Delete,atau menghapus data pada vb,net dan MySql akan seperti gambar berikut ini:
Hasil Runing Program

sampai disini kita telah berhasil membuat semua Module CRUD Vb.net dengan database Mysql, mulai dari Fungsi Create data, Read data, Update data, dan Delete data. untuk lebih lanjut kalian bisa mengembangkan lagi meteri yang sudah kita pelajari lebih jauh lagi dan mungkin bisa di terapkan pada studi kasus yang lain.

Jika ada pertanya atau saran tentang tutorial ini bisa di berikan pada kolom komentar dibawah, atau jiak ada pertanya lain mengenai tuturial lain bisa menghubugi penulis via email yang sudah di berikan pada page contact.

sekian dan terima kasih sudah mampir.

#Happy Coding
Incoming search terms:

  • CRUD Vb.net Database MySQL
  • Koneksi Vb.net MySQL
  • Tutorial CRUD Vb.net dengan MySQL
  • VB.NET MySQL Database Connection
  • Contoh Aplikasi CRUD VB.NET dan MySQL
  • Tutorial Koneksi VB.NET ke MySQL
  • Implementasi CRUD VB.NET Database MySQL
  • Source Code CRUD VB.NET MySQL
  • Panduan CRUD VB.NET dan Database MySQL
  • CRUD VB.NET MySQL Insert Update Delete
  • Upload Photo di Vb.net dan MySQL
  • Upload Photo pada Vb.net
  • Resize Photo Vb.net
  • Menampilkan Photo di Gridview Vb.net
  • Menampilakn Imgae di Gridview Vb.net
  • input Data Beda Form Vb.net
  • Gridview Vb.net
  • Menampilkan Data pada Gridview Vb.net dan MySQL
  • Read Data pada Gridview Vb.net dan MySQL
  • Membuat Checkbox pada Gridview Vb.net
  • Hapus data pada Vb.net MySql
  • Membuat select All pada Gridview Vb.net


0 Response to "TUTORIAL CRUD VB.NET Mysql Part#5 : Delete menghapus data pada Vb.net dan MySQL"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel