-->

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