-->

AK Studio

Tutorial Programming Bahasa Indonesia

TUTORIAL CRUD VB.NET Mysql Part#4 : Update Mengubah data pada Vb.net dan Mysql


kembali lagi pada tutorial Vb.net, pada Serial CRUD Vb.net Dengan Database Mysql, pada tutorial sebelumnya kita sudah berhasil membuat fungsi Koneksi database Mysql dengan Vb.net, Create (input Data) , dan Read (Menampilkan Data). untuk totrial menampilkan data pada part #3 bisa di buka melalui link berikut

Link Tutorial part #3: Read Menampilkan data Pada Gridview dengan Vb,net dan MySql

selanjutnya pada tutorial  part#4 kita akan mencoba membuat Module Update, untuk merubah data yang sudah kita simpan. langsung saja buka project sebelum nya pastikan semua module yang sudah kita buat berjalan dengan baik tanpa ada error. dan jangan lupa nyalakan Webserver XAMPP nya


1. Membuat Procedure GetData By Id User

Sebelum melakukan perubahan kita perlu menampilkan data yang akan di ubah atau di update kedalam form input data. fungsi nya hampir sama dengan procedure Get all data akan tetapi kita perlu menambahkan id untuk mendapatkan satu data saja yang akan di tampilkan, untuk procedure atau fungsinya akan kita simpan juga di dalam Module M_helper, yang nanti akan kita panggil di form input data nya.

untuk fungsi atau procedure getdata by id User ,data di buat seperti berikut ini:

Procedure GetData By id User:
tambahkan atau simpan di dalam Module M_helper:
Public Function cm04GetUserByID(ByVal prmID As Integer)
        cm01Koneksi()
        pdtResult.Clear()

        cmd = New MySqlCommand("SELECT * FROM USER where id = " & prmID & " ", conn)
        reader = cmd.ExecuteReader()
        pdtResult.Load(reader)

        conn.Close()
        Return pdtResult
    End Function
Penjelasan :
fungsi Getdata By id Ini merupakan proceudre yang berupa function atau memiliki Output, output dari fungsi ini berupa data tabel sama sepeti fuungsi getall data. yang nanti nya datatabel ini akan kita looping untuk menampilkan data nya ke dalam control form input data nya


2.Membuat Procedure Update Data

setelah selesai membuat fungsi getdata by id, yang nantinya akan kita gunakan untuk menampilkan satu data saja yang akan di Update, lalu kita perlu membuat procedure atau fungsi Update data.

kita perlu menambahkan sebuah procedure yang berfungsi untuk melakukan perintah update, nah procedure atau fungsi ini akan kita tambahkan ke dalam Module M_Helper nya, dan nanti akan di panggil pada form input data.

untuk fungsi Update nya, seperti koding berikut ini, buka Module M_helper dan tambahkan koding berikut ini:

Procedure Update data:
Public Sub cm05UpdateDataUser(ByVal prmIdUser As Integer, ByVal prmNama As String, ByVal prmTglLahir As Date, ByVal prmAlamat As String, ByVal prmNoHp As String, ByVal prmEmail As String, ByVal prmPhoto As String, ByVal prmJK As String)
        cm01Koneksi()
        Dim sqlCmd As String = ""

        sqlCmd = "UPDATE USER set NamaUser = @prmNamaUser ,
                                  Tgllahir = @prmTgllahir, 
                                    Alamat = @prmAlamat,
                                      Nohp = @prmNohp ,
                                     Email = @prmEmail,
                                     Photo = @prmPhoto,
                              JenisKelamin = @prmJenisKelamin
                              WHERE id = @prmIdUser"

        cmd = New MySqlCommand(sqlCmd, conn)
        cmd.Parameters.AddWithValue("@prmIdUser", prmIdUser)
        cmd.Parameters.AddWithValue("@prmNamaUser", prmNama)
        cmd.Parameters.AddWithValue("@prmTgllahir", prmTglLahir)
        cmd.Parameters.AddWithValue("@prmAlamat", prmAlamat)
        cmd.Parameters.AddWithValue("@prmNohp", prmNoHp)
        cmd.Parameters.AddWithValue("@prmEmail", prmEmail)
        cmd.Parameters.AddWithValue("@prmPhoto", prmPhoto)
        cmd.Parameters.AddWithValue("@prmJenisKelamin", prmJK)

        Dim result As Integer
        result = cmd.ExecuteNonQuery()

        If result > 0 Then
            MessageBox.Show("Update Data User Berhasil", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Else
            MessageBox.Show("Gagal Update Data", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End If

        conn.Close()
    End Sub

Penjelasan:
untuk fungsi update data ini hampir sama dengan fungsi save data yang sudah kita buat, kita membuat sebuah procedure, yang menerima sebuah parameter, dan parameter ini akan di isi data nya dari control atau asal datanya di mbil dari mana. dan value dari paramter ini akan kita kirim pada perintah Query Update data nya.

fungsi atau procedure ini akan kita panggil di form input data.


3.Mengirim data Id User Pada Form Input Data

sebelum memanggil fungsi get data by id User kita perlu mengetahui dan mengirim Id user mana yang akan kita tampilkan pada form input data.

untuk mengirim data antar form pada Vb.net ada banyak caranya, mungkin kita akan buat serial tersendiri pada tutorial lain. untuk sekarang kita akan coba salah satu cara mengirim data antar form pada vb.net. kita dapat mengakases nama control yang ada pada form input data langsung, dengan cara memangil nama form terus nama control nya.

Buka form display data, dan tambahkan sebuah funsgi untu mengirim data id user kedalam form input data, dan fungsi ini akan di panggil pada event cell double klik pada gridview

Fungsi Kirim IdUser kedalam form Input data:
Private Sub cm04DetailUser(ByVal prmID As Integer)

        frmInput._01Id.Text = prmID
        frmInput.StartPosition = FormStartPosition.CenterScreen
        frmInput.ShowDialog()
End Sub

Penjelasan:
Line 3 : mengirim Id User ke control _01Id pada form input data, untuk paramter id akan di isi pada event griview cell doubel klik.
line 4: setting form input data saat display atau tampil berada di tengah layar
line 5 : membuat form input data show dialog. jadi harus selesaikan perubahan data baru bisa akses menu atau fungsi yang lain.

untuk mengirim data nya , kita menggunakan event dari gridview nya, logic nya saat column id user di doubel klik pada gridview di formdisplay data, maka akan menampilkan form input data dan. merubah label dari form input nya menjadi Update data , dan mengirim Id user nya kita simpan pada control _01Id.

buka form display data dan buat event cell doubel klik, untuk cara nya bisa di pilih dari combobox. setting di atas coding nya. pilih nama control nya , lalu pilih event nya.

Pilih event 

Event Gridview Cell Doubel Klik

Private Sub gvDataUser_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles gvDataUser.CellDoubleClick

        ' jika doubel cklik di colomun Id USer saja'
        If e.ColumnIndex = 1 Then

            Dim idUser As Integer = 0

            ' mengambil id user sesaui row yang di klik '
            idUser = gvDataUser.Rows(e.RowIndex).Cells(1).Value

            ' mengirim Id User kedalam form input data '
            cm04DetailUser(idUser)
        End If
 End Sub

sampai disni harus nya kita sudah berhasil menampilkan form input data dan mengirim id user yang akan di update. 

akan tetapi kita perlu mengisi data user yang lain pada form input data ini, seperti nama, alamat dan lain nya. nah pada form input data kita akan panggil fungsi get data By Id nya.


4.Memanggil Fungsi Get data By ID

buka form input data. dan buat sebuah procedure atau fungsi untuk memanggil fungsi Getdataby id yang sudah kita buat pada Module M_helper nya.

untuk fungsi atau procedure menampilkan data by Id User nya , dapat di buat seperti koding berikut ini:

GetData By Id User:
fungsi ini di tambahkan di dalam form Input data, lalu fungsi ini di panggil di dalam event form load pada form inpuut data
Private Sub cm05GetUserByID()

       Dim pdtDetailUser As New DataTable
       pdtDetailUser.Clear()

       Dim idUser As Integer

       'Ternari Operator Cek id User Ada atau Tidak '
       idUser = If(_01Id.Text = "", 0, _01Id.Text)

       If idUser <> 0 Then
           ' ubah variabel is update jadi true jika id user <> 0 '
           prmIS_UpdateData = True
           ' ganti text label input '
           labelInput.Text = "EDIT DATA USER"
           ' Ubah text Buton '
           btnSimpan.Text = "Update"

           ' memanggil fungsi get user by id dari Module M_helper '
           pdtDetailUser = M_Helper.cm04GetUserByID(idUser)

           If pdtDetailUser.Rows.Count > 0 Then

               ' Mengambil path dari folder USER_PROFILE '
               Dim prmPATHFolder As String = M_Helper.cm06PatchUploadFoto

               ' variabel Photo untuk menampung Photo user '
               Dim photoUser As Image

               For Each itm As DataRow In pdtDetailUser.Rows

                   ' cek nama foto ada atau tudak photo user nya'
                   If Not String.IsNullOrEmpty(itm("Photo")) Then

                       ' jika ada tampilan gabungkan path dan nama photo user untuk di tampilkan dan simpan pada variabel foto user'
                       photoUser = Image.FromFile(prmPATHFolder & "\" & itm("Photo"))
                       prmNamaFotoUser = itm("Photo")
                   Else
                       ' jika tidak ada variabel photo user jadi nothing atau kosong'
                       photoUser = Nothing
                       prmNamaFotoUser = ""
                   End If


                   _02Nama.Text = itm("NamaUser").ToString
                   _03Alamat.Text = itm("Alamat").ToString
                   _04Email.Text = itm("Email").ToString
                   _05NoHP.Text = itm("Nohp").ToString
                   _06TglLahir.Text = itm("Tgllahir")
                   _09Photo.Image = photoUser


                   ' Cek Data Jenis Kelamin '
                   Dim prmJenisKelamin As String = ""

                   prmJenisKelamin = itm("JenisKelamin").ToString

                   ' setting radio yang terpilih dari jenis kelain nya '
                   If prmJenisKelamin = "LAKI-LAKI" Then
                       'jika laki laki '
                       _07RBLakilaki.Checked = True
                   Else
                       ' jika perempuan '
                       _08RBPerempuan.Checked = True
                   End If

               Next

           Else
               prmIS_UpdateData = False
               MsgBox("User Dengan Id = " & idUser & " Tidak Ditemukan ", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation)
           End If

       End If

   End Sub


Penjelasan:
untuk penjelasan coding nya dapat di baca pada coment di setiap line nya, 
line 30 -67: menampilkan hasil dari getdata by user id nya, kita gunakan fungsi atau operator perulangan. dan kita tampilkan kedalam control nya.

sampai di step ini jika di jalankan program nya maka, kita berhasil menampilkan semua detail data user yang ada di dalam database berdasarkan id user yang kita pilih. dan menampilkan nya di dalam kontrol yang ada pada form input data.


5. Memanggil fungsi Update data

selanjutnya , jika sudah berhasil menampilkan detail data dari user yang kita kirim id nya dari gridview pada form display data, kita perlu membuat fungsi untuk meanggil procrdure update data dari Module M_helpar yang sudah kita buat sebelumnya, pada step no 2.

untul  memabggil fungsi update data dari Module M_helper , kita buat sebuah fungsi lagi didalam form input data. untuk fungsi atau procedure nya , dapat di buat sperti koding berikut ini:

Memanggil fungsi Update data dari Module M_helper:
koding ini di tambahkan di dalam form input data:
Private Sub cm06EditDataUser()

        Dim prmJenisKelamin As String = ""
        'Variabel Untuk Ambil Nama Photo yang di pilih'
        Dim prmIMGName As String
        Dim prmPATHFolder As String = M_Helper.cm06PatchUploadFoto

        Try
            'Ambil jenis kelamin dari radio button yang di pilih'
            If _07RBLakilaki.Checked = True Then
                prmJenisKelamin = _07RBLakilaki.Text
            Else
                prmJenisKelamin = _08RBPerempuan.Text
            End If

            'Cek Jiak Tidak ada Photo yg di pilih dan Nama Photo user tidak Kosong'
            If _09Photo.Image IsNot Nothing Then


                'Cek path temp nya ada isi atau tidak'
                ' jika tidak ada isi berarti user tidak melakukan pemilihan / mengganti foto'
                ' dan jika ada Pergantian Foro Hapus foto lama'
                If Not String.IsNullOrEmpty(prmTempFilePATH) Then

                    'cek dahulu nama foto user Jika ada Maka Hapus'
                    If Not String.IsNullOrEmpty(prmNamaFotoUser) Then

                        ' jika ada foto dan Foto di temukan dalam Folder maka Hapus foto'
                        If File.Exists(prmPATHFolder & "\" & prmNamaFotoUser) Then
                            My.Computer.FileSystem.DeleteFile(prmPATHFolder & "\" & prmNamaFotoUser)
                        End If
                    End If


                    ' Menghasilkan nama baru untuk file (misalnya berdasarkan timestamp)'
                    prmIMGName = Guid.NewGuid().ToString() & "_" & DateTime.Now.ToString("yyyyMMdd_HHmmss") & Path.GetExtension(prmTempFilePATH)

                    ' Membuat folder jika belum ada'
                    If Not Directory.Exists(prmPATHFolder) Then
                        Directory.CreateDirectory(prmPATHFolder)
                    End If

                    ' Upload Photo yang di Pilih'
                    Dim destinationPath As String = Path.Combine(prmPATHFolder, prmIMGName)
                    File.Copy(prmTempFilePATH, destinationPath)
                Else
                    ' Tetap pakai Foto lama jika Path Temp Kosong'
                    prmIMGName = prmNamaFotoUser
                End If
            Else
                prmIMGName = ""
            End If

            'memanggil fungsi update data dan melakukan query udpate data'
            M_Helper.cm05UpdateDataUser(_01Id.Text, _02Nama.Text, _06TglLahir.Text, _03Alamat.Text, _05NoHP.Text, _04Email.Text, prmIMGName, prmJenisKelamin)

        Catch ex As Exception
            MessageBox.Show("Terjadi kesalahan saat memuat gambar: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub

Penjelasan:
Pada setiap line coding di beri comment untuk setiap fungsinya, jadi dapat di baca untuk memahami setiap perintah yang di lakukan pada setipa baris coding nya

selanjutnya kita perlu memanggil fungsi update ini di dalan button simpan, jadi kita gunakan satu button atau tombol untuk perintah simpan dan update data.


6.Memanggil fungsi Update pada Button Simpan

setelah membuat fugsi untuk menampikan get data by id user, berhasil , lalu kita membuat fungsi update data pada step no 5, selanjutnya kita perlu memofidikasi event pada tombol simpan di form input data, dan memanggil fungsi update data.

untuk perubahan koding pada button simpna data, dapat di lihat seprti koding berikut ini.

Button Simpan data :
doubel klik button simpan data, dan ubah seprti koding beirkut ini:
Private Sub btnSimpan_Click(sender As Object, e As EventArgs) Handles btnSimpan.Click
        If prmIS_UpdateData Then
            cm06EditDataUser()
        Else
            cm02simpanDataUser()
        End If
End Sub

Penjelasan:
pada Tutorial Create data part #2 kita sudah membuat sebuah variabel is Update pada form input data, dan skerang variabel ini baru kita gunakan, untuk memfilter atau mengecek fungsi mana yang harus di jalankan saat button simpan di klik

parametr prmIS_UpdateData di set nilai nya pada fungsi get data by id user sebelumnya, jika bernilai true makan update data yang akan di jalan kan saat button simpan di klik, dan jika bernilai false maka save data yang akan di jalankan.

selanjtnya save dan rebuild program nya. pastikan tidak ada eror atau masalah, jika step di atas di ikuti dengan benar, sampai disini kita sudah berhasil membuat fungsi update data dengan vb.net dan database Mysql seperti hasil berikut ini:

Update Data

sampai disini kita berhasil membuat dan menyelesaikan module Update data pada vb.net dan database mysql, selanjut nya kita akan mencoba membuat module terakhir dari serial CRUD vb.net dengan database Mysql ini. yaitu module Delete atau hapus data. Untuk Tutorial nya akan kita labjutkan pada part#5


jika ada pertanyaan dan masukan bisa diberikan pada kolom komentar. sekian dan terima kasih

#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
  • Update Data pada Vb.net dan MySQL
  • Mengubah data pada Vb.net dan database Mysql
  • kirim data antar form vb,net
  • kirim data Beda form di Vb.net

0 Response to "TUTORIAL CRUD VB.NET Mysql Part#4 : Update Mengubah data pada Vb.net dan Mysql"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel