AK Studio

Tutorial Programming Bahasa Indonesia

TUTORIAL CRUD VB.NET Mysql Part#2 : Create Input Data vb.net dan Mysql



selanjutnya pada tutorial part#2 ini kita akanmelanjutkan serial Crud dari tutorial Crud Vb.net dengan database Mysql, pada tutorial part#1 kita sudah berhasil membuat koneksi database dari Vb,net dengan Mysql yang bisa di lihat pada link berikut

Tutorial Part#1: Membuat Koneksi database Vb.net dan Mysql

Selanjutnya dari serial CRUD ini kita akan melanjutkan Module Creata atau Input data dengan Vb.net dan Mysql. langsung kedalam tutorial nya. dan buka Project sebelumnya,

pada tutorial part #1 kita sudah membuat sebuah tabel user , nah selanjutnya kita akan coba membuat form input user nya untuk mengisi data pada tabel yang sudah kita buat.


1.Design Form Input data

Buat atau tambahkan sebuah form baru untuk menginput data, dan berinama form input data, untuk design tampilan dari form input data bisa di lihat seperti gambar berikut:

 
Form Input data


untuk component Toolbox yang di pakai pada form input data terdapat pada tabel berikut ini:
Komponen Properti
Label input Label labelInput
ID Label dan TextBox: _01Id
Nama Label dan TextBox: _02Nama
Jenis Kelamin Group Box, tambahkan 2 Radio Button:
_07RBLakiLaki, _08RBPerempuan
Tanggal Lahir DateTimePicker: _06TglLahir
Email Label dan TextBox: _04Email
No HP Label dan TextBox: _05NoHP
Alamat Label dan TextBox: _03Alamat
Photo Group Box, tambahkan PictureBox:
_09Photo
Button: btnPilihPhoto
Button Simpan Button: btnSimpan
Button Bersihkan Button: btnBersih


2.Menambahkan Fungsi Save di Module M_Helper

selanjutnya kita perlu menambhakna fungsi save atau simpan data pada Module M_helper yang sudah kita buat pada part#1. lanjut buka file Module M_Helper Tambahkan Kode berikut ini:

Pertama Tambahkan fungsi Koneksi, pada tutorial awal kita hanya membuat fungsi untuk testing Koneksi ke databsae Mysql apakah, berhasil terhubung atau tidak, nah kita perlu memodifikasi sedikit kodingnya , dan kita buat dalam sebuab prosedure baru agar dapat di panggil berulang,

Procedure Open Koneksi Database:
Public Sub cm01Koneksi()
'Dim connString As String = "Server=localhost;Database=SampleDB;Uid=root;Pwd=your_password;"'
Dim connString As String = String.Format("Server={0};Database={1};Uid={2};Pwd={3};", SERVER_NAME, DATABASE_NAME, USER_NAME, PASSWORD)
Try
conn = New MySqlConnection(connString)
conn.Open()
Catch ex As MySqlException
MessageBox.Show("Terjadi kesalahan saat menghubungkan ke database: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch ex As Exception
MessageBox.Show("Kesalahan umum: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub

Penjelasan:
pada Prosedure Open koneksi ini kita hanya membuka koneksi dan untuk menutup koneksi nya kita panggil di setiap prosedur yang akan melakukan fungsi atau perintah ke databasenya,

Procedure Simpan Data:
Public Sub cm02AddData(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()
cmd = New MySqlCommand("INSERT INTO USER (NamaUser,Tgllahir,Alamat,Nohp,Email,Photo,JenisKelamin)
VALUES(@prmNamaUser, @prmTgllahir, @prmAlamat, @prmNohp, @prmEmail, @prmPhoto, @prmJenisKelamin)", conn)
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("Simpan Data Berhasil", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
MessageBox.Show("Gagal Simpan Data", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
conn.Close()
End Sub
Penjelasan:
procedure atau funsgi save data ini kita beri, sebuah parameter data yang akan di isi dari form input data, lalu isi atau value dari paramater ini akan di terukan kedalam printah query sql nya untuk di eksekusai, fungsi ini juga termasuh salah satu teknik OOP atau Obejct Oriented Programming
line 2 : memanggil procedure Open koneksi ke database
line 3-4 : Query insert data 
line 5-11: mengisi atau assign value dari paramater yang kita terima dari form input data kedalam query Sql
line 13-14 : eksekusai perintah sql Query
line 16 -20 : menerima respon dari hasil eksekusi query insert data. atau kita mengambil hasil row effected  dari Mysql nya
line 22 : menutup koneksi ke database

Procedure Untuk membuat folder Upload photo User:
Public Function cm06PatchUploadFoto()
' Menentukan folder tempat gambar akan disimpan (folder 'USER-PROFIL' dalam proyek)'
Dim ForlderName As String = "USER-PROFIL"
' Membuat Forlder Dalam Startup file Aplikasi'
Dim prmPATHFolder As String = Path.Combine(Application.StartupPath, ForlderName)
Return prmPATHFolder
End Function
Penjelasan:
Line 5: nama Folder Untuk menyimpan foto user
line 7: membuat / menentukan folder akan di buat dalam pacth mana, fungsi  Application.StartupPath  akan membuat folder dari mana program atau exe dari aplikasi di jalankan

dan isi full dari file Module M_helper kita seperti berikut ini:
Module M_Helper:
Imports System.IO
Imports MySql.Data.MySqlClient
Module M_Helper
' Variabel Koneksi database dan server login'
Private SERVER_NAME As String = "localhost"
Private DATABASE_NAME As String = "dbtutorial"
Private USER_NAME As String = "root"
Private PASSWORD As String = ""
Dim conn As MySqlConnection
Dim cmd As MySqlCommand
Dim reader As MySqlDataReader
Dim pdtResult As New DataTable
Public Sub cm00TesKoneksi()
'Dim connString As String = "Server=localhost;Database=SampleDB;Uid=root;Pwd=your_password;"
Dim connString As String = String.Format("Server={0};Database={1};Uid={2};Pwd={3};", SERVER_NAME, DATABASE_NAME, USER_NAME, PASSWORD)
Try
conn = New MySqlConnection(connString)
conn.Open()
MessageBox.Show("Koneksi berhasil!", "Info", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As MySqlException
MessageBox.Show("Terjadi kesalahan saat menghubungkan ke database: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch ex As Exception
MessageBox.Show("Kesalahan umum: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Sub cm01Koneksi()
'Dim connString As String = "Server=localhost;Database=SampleDB;Uid=root;Pwd=your_password;"'
Dim connString As String = String.Format("Server={0};Database={1};Uid={2};Pwd={3};", SERVER_NAME, DATABASE_NAME, USER_NAME, PASSWORD)
Try
conn = New MySqlConnection(connString)
conn.Open()
Catch ex As MySqlException
MessageBox.Show("Terjadi kesalahan saat menghubungkan ke database: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Catch ex As Exception
MessageBox.Show("Kesalahan umum: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Public Sub cm02AddData(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()
cmd = New MySqlCommand("INSERT INTO USER (NamaUser,Tgllahir,Alamat,Nohp,Email,Photo,JenisKelamin)
VALUES(@prmNamaUser, @prmTgllahir, @prmAlamat, @prmNohp, @prmEmail, @prmPhoto, @prmJenisKelamin)", conn)
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("Simpan Data Berhasil", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information)
Else
MessageBox.Show("Gagal Simpan Data", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
conn.Close()
End Sub
Public Function cm06PatchUploadFoto()
' Menentukan folder tempat gambar akan disimpan (folder 'USER-PROFIL' dalam proyek)'
Dim ForlderName As String = "USER-PROFIL"
' Membuat Forlder Dalam Startup file Aplikasi'
Dim prmPATHFolder As String = Path.Combine(Application.StartupPath, ForlderName)
Return prmPATHFolder
End Function
End Module

3. Cara Grouping Coding

Info tambahan , di sini kita memnggunakan sebuah fiture atau fungsi yang dapa mengelompokan koding di dalam Vb.net yaitu fungsi REGION  , untuk syntax nya sperti berikut:
#Region " Deskripsi atau nama Group"
'***** Koding *****'
#End Region

contoh region , dengan mmngunakan region kita membuat coding lebih rapih dan ter struktur dan mudah untuk memaintenence jika ada perubahan dan penambhan logic


untuk region tidak di baca sebagai perintah atau coding


4.Memanggil procedure simpan data

didalam form input data Buat dua Buah Regioon untuk mengelompokan koding kita, 
region control Event : untuk grouping kode prtintah event kontrol 
region Custom Methods : untuk menggelompokan funsgi dan di bedakan dengan event control

untuk pembuatan region bisa di skip jika masih bingung

selanjutnya jika kita telah selesai membuat fungsi pada Module M_helper, kita akan panggil fungsi ini di dalam form input data nya. langsung doubel klik pada form input data. tambahkan kode berikut.

buat pramater variabel berikut untuk menampung file patch dan jeni oprasi yang akan di lakukan, letakan pada bagian paling atas setelah class form input
' Public Class frmInput '
' letakan setelah tulisan diatas '
Private prmTempFilePATH As String
Private prmIS_UpdateData As Boolean
' untuk Tampung Foto User Saat Update Data '
Private prmNamaFotoUser As String

selanjutnya membuat procedure atau fungsi untuk inisialisai control ketika form pertama kali dijalakan
untuk koding nya sperti berikut : dan jagan lupa panggil procedure ini di dalam form Load

Procedure inisialisai control
Private Sub cm01InitControl()
'Setting Form'
Me.AutoSizeMode = AutoSizeMode.GrowAndShrink
Me.MinimizeBox = False
Me.MaximizeBox = False
Me.StartPosition = FormStartPosition.CenterScreen
_01Id.Enabled = False
' Setting menampilkan tanggal saja'
_06TglLahir.Format = DateTimePickerFormat.Short
_02Nama.Text = ""
_03Alamat.Text = ""
_04Email.Text = ""
_05NoHP.Text = ""
_06TglLahir.Text = Date.Now
_09Photo.Image = Nothing
_09Photo.SizeMode = PictureBoxSizeMode.StretchImage
prmTempFilePATH = ""
End Sub

setelah membuat inisialisasi control nya , kita lanjut membuat fungsi save data yang mana dalam fungsi ini akan menaggil procedure dari M_helper yang sudah kita buat untuk melakukan perintah insert data ke dalam database, untuk coding nya sperti berikut :

Procedure simpan data
Private Sub cm02simpanDataUser()
Dim prmJenisKelamin As String = ""
'Variabel Untuk Ambil Nama Photo yang di pilih '
Dim prmIMGName As String
Dim prmPATHFolder As String = M_Helper.cm06PatchUploadFoto
Try
If _07RBLakilaki.Checked = True Then
prmJenisKelamin = _07RBLakilaki.Text
Else
prmJenisKelamin = _08RBPerempuan.Text
End If
'Cek Jika User Memilih Photo Atau Tidak'
If _09Photo.Image IsNot Nothing Then
' 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
prmIMGName = ""
End If
M_Helper.cm02AddData(_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

setelah itu kita dobel klik buton simpan dan panggil fungsi simpna data yang sudah kita buat, sperti berikut

fungsi button simpan
Private Sub btnSimpan_Click(sender As Object, e As EventArgs) Handles btnSimpan.Click
cm02simpanDataUser()
End Sub
selanjut nya kita buat procedure untuk membersihkan inputan atau form, untuk fungsinya seperti koding berikut:

Procedure Bersihkan form
Private Sub cm07BersihkanForm()
prmIS_UpdateData = False
labelInput.Text = "INPUT DATA USER"
btnSimpan.Text = "Simpan"
_01Id.Text = ""
_02Nama.Text = ""
_03Alamat.Text = ""
_04Email.Text = ""
_05NoHP.Text = ""
_06TglLahir.Text = Date.Now
_09Photo.Image = Nothing
_09Photo.SizeMode = PictureBoxSizeMode.StretchImage
prmTempFilePATH = ""
prmNamaFotoUser = ""
End Sub

lalu panggil fungsi untuk membersihkan form input ini pada tombol berishkan form dan saat form input di close

Memanggil fungsi bersihkan form
' panggil pada button bersihkan '
Private Sub btnBersih_Click(sender As Object, e As EventArgs) Handles btnBersih.Click
cm07BersihkanForm()
End Sub
' panggil pada saat form di tekan tombol closes '
Private Sub frmInput_Closed(sender As Object, e As EventArgs) Handles MyBase.Closed
cm07BersihkanForm
End Sub


5. Membuat fungsi Load photo user

setalah selesai membuat fungsi save data selanjutnya kita membuat sebuah procedure fungsi untuk user memilih foto yang akan dijadikan foto profile nya, untuk koding nya seperti berikut ini:

Procedure Load photo:
Private Sub cm03LoadPhoto()
' Membuat dialog untuk memilih file gambar'
Using openFileDialog As New OpenFileDialog()
openFileDialog.Filter = "Image Files|*.jpg;*.jpeg;*.png;*.bmp;*.gif" ' Filter file gambar '
openFileDialog.Title = "Select an Image"
' Menampilkan dialog dan memeriksa jika pengguna memilih file'
If openFileDialog.ShowDialog() = DialogResult.OK Then
Try
' Memuat gambar dari file yang dipilih'
Dim filePath As String = openFileDialog.FileName
_09Photo.Image = Image.FromFile(filePath) ' Menampilkan gambar di PictureBox'
' Menyesuaikan ukuran PictureBox agar gambar terlihat dengan baik'
_09Photo.SizeMode = PictureBoxSizeMode.StretchImage
' tampung pacth image sementara seblum di upload'
prmTempFilePATH = filePath
Catch ex As Exception
MessageBox.Show("Terjadi kesalahan saat memuat gambar: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End If
End Using
End Sub

jika sudah kemudian fungsi ini di panggil pada button pilih photo, dengan cara klik dua kali pada button pilih dan panggil procedure load photo 

Memanggil procedure Load photo
Private Sub btnPilihphoto_Click(sender As Object, e As EventArgs) Handles btnPilihphoto.Click
cm03LoadPhoto()
End Sub

seharus nya funsgi save data user sudah selesai tapi kita perlu mencoba untuk input data nya melalui form input ini, apakah data berhasildi simpan atau tidak,  selanjut nya kita perlu memanggil form input data ini di dalam fungsi saat menu add user di klik. pada form display data


6.Memanggil form Input User

selanjut nya kita buka kembali form display data yang sudah kita buat pada tutorial part 1, dan klik dua kali pada menu add User, dan tuliskan koding berikut untuk menampilkan form input user

Memanggil form Input User:
Private Sub TambahDataToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TambahDataToolStripMenuItem.Click
' untuk Setting from input Agar Tampil di tengah from Data '
frmInput.StartPosition = FormStartPosition.CenterScreen
frmInput.ShowDialog()
End Sub

Jika sudah save dan rebuild project,  jika tidak ada kesalahan maka hasil program saat di jalankan akan sperti berikut ini

Input data User

jika data berhasil di input akan ada notifikasi, dan cek di dalam database, jika data  berhasil masuk berarti fungsi save kita sudah benar.

 dan untuk foto user akan tercopy di folder dengan nama USER-PROFILE, pada folder start up aplikasi ,untuk mengetahuinya disini saya dalam mode debug, dan saya menyimpan project nya di localdisk D: jadi file pacth nya:

Mode Debug:
D:HelloWorldApp\bin\Debug\net7.0-windows\USER-PROFIL

Mode Realease:
D:HelloWorldApp\bin\Release\net7.0-windows\USER-PROFIL



samapai disini kita sudah berhasil membuat module Create atau input data kedalam database dengan Vb.net dan Mysql, pada tutorial selanjutnya kita akan membuat module Reda atau menampilkan data yang sudah kita input kedalam Data gridview

Tutorial part #3 : Read , Menampilkan Data pada Gridview Vb.net MySql

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
  • Tutorial VB.NET CRUD MySQL Lengkap
  • 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
  • input Data Beda Form Vb.net

0 Response to "TUTORIAL CRUD VB.NET Mysql Part#2 : Create Input Data vb.net dan Mysql"

Posting Komentar

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel