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:
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
2.Membuat Procedure 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:
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
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
Private Sub cm04DetailUser(ByVal prmID As Integer)
frmInput._01Id.Text = prmID
frmInput.StartPosition = FormStartPosition.CenterScreen
frmInput.ShowDialog()
End Sub
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:
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
5. Memanggil fungsi Update 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
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.
Private Sub btnSimpan_Click(sender As Object, e As EventArgs) Handles btnSimpan.Click
If prmIS_UpdateData Then
cm06EditDataUser()
Else
cm02simpanDataUser()
End If
End Sub
Update Data |
- 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