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