Membuat Aplikasi Crud Dengan Vb.Net Dan Database Microsoft Access
selamat sore para sahabat blogger semuanya, kembali lagi bersama saya guzko di blog yang sederhana ini. Kali ini saya akan sharing perihal bagaimana membuat aplikasi CRUD (Create, Update dan Delete) pada database ms access dan VB.Net, sesuai dengan judulnya gan. Barangkali saja ada agan agan yang lagi membutuhkan referensi, hehe… mudah-mudahan tutorial ini bermanfaat….
penampakan aplikasinya mirip ini gan :
setuju gan, eksklusif saja kita buat programmnya…,
pertama agan buka dulu visual studionya dan buat project baru. Setelah create project, silahkan agan buat 2 buah form (1 form sebagai form utama dan 1 form sebagai form untuk updatenya ) kemudian agan desain kedua form tersebut mirip ini gan :
sehabis itu agan buat sebuah database dengan menggunakan microsoft access dengan nama “karyawan.mdb”. untuk cara bagaimana membuat database di microsoft accees agan mampu baca di tutorial saya yang ini.
desain databasenya mirip berikut gan :
sehabis agan desain kedua form mirip diatas dan juga sudah membuat databasenya, saatnya sekarang kita ngoding gan, pertama untuk di form pertama dulu, silahkan masuk kebagian code editor dan import reference berikut ini :
Imports System.Data Imports System.Data.OleDb
kode diatas yaitu untuk menambahkan reference semoga koneksi antara vb.net dan database ms access mampu berjalan.
selanjutnya buat deklarasi variabelnya gan mirip ini :
Dim cnnOLEDB As New OleDbConnection Dim cmdOLEDB As New OleDbCommand Dim cmdInsert As New OleDbCommand Dim sqlAdapter As New OleDbDataAdapter Dim sqlTable As New DataTable Dim strConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & System.Environment.CurrentDirectory & "\Karyawan.mdb"
kode diatas yaitu untuk mendeklarasikan variabel yang akan digunakan nanti untuk koneksi databasenya. serta pada instruksi terahir tersebut terdapat koneksi string yang diarahkan ke lokasi database berada (oya gan saya taruh database ini pada satu folder dengan aplikasinya.)
lanjut gan, sekarang kita buat sebuah sub yang digunakan untuk menampilkan data di database ke listview, silahkan inputkan instruksi dibawah ini :
Sub tampilData() With ListView1 .FullRowSelect = True .MultiSelect = False .View = View.Details .Columns.Clear() .Columns.Add("ID Karyawan", 100, HorizontalAlignment.Left) .Columns.Add("Nama Karyawan", 200, HorizontalAlignment.Left) .Columns.Add("Alamat Karyawan", 250, HorizontalAlignment.Left) .Columns.Add("No.Telp", 150, HorizontalAlignment.Left) .Columns.Add("Jabatan", 180, HorizontalAlignment.Left) End With Dim sql As String = "SELECT * FROM tbKaryawan" With cmdOLEDB .CommandText = sql .Connection = cnnOLEDB End With With sqlAdapter .SelectCommand = cmdOLEDB .Fill(sqlTable) End With On Error Resume Next For i = 0 To sqlTable.Rows.Count - 1 With ListView1 .Items.Add(sqlTable.Rows(i)("idKaryawan")) With .Items(.Items.Count - 1).SubItems .Add(sqlTable.Rows(i)("namaKaryawan")) .Add(sqlTable.Rows(i)("alamatKaryawan")) .Add(sqlTable.Rows(i)("noTelp")) .Add(sqlTable.Rows(i)("jabatan")) End With End With Next On Error Resume Next End Sub
sehabis itu, masuk ke kepingan form_load dan ketikkan instruksi dibawah ini gan :
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With cmbJabatan .Items.Add("-Pilih Jabatan-") .Items.Add("Team Leader") .Items.Add("Operation and Maintenance") .Items.Add("Desk Control") .Items.Add("Quality Assurance") .Items.Add("Supervisor") .Text = "-Pilih Jabatan-" End With cnnOLEDB.ConnectionString = strConnectionString cnnOLEDB.Open() tampilData() txtIDKaryawan.Text = DateTime.Now.ToString("ddyyyyHHmmss") txtNamaKaryawan.Focus() End Sub
pada instruksi diatas terdapat fungsi untuk koneksi stringnya serta membuka databasenya. ID Karyawan dibuat berdasarkan Tgl+Tahun+Jam+Menit+Detik. kemudian pada instruksi diatas terdapat juga instruksi untuk menambahkan pilihan pada combo box jabatan.
pada kepingan form_closenya kita tambahkan instruksi berikut gan :
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed cnnOLEDB.Close() End Sub
instruksi diatas digunakan untuk tutup koneksi database
selanjutnya kita menuju ke kepingan button simpannya, ketikkan instruksi berikut gan :
Private Sub cmdSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdSimpan.Click If txtIDKaryawan.Text = "" Or txtAlamatKaryawan.Text = "" Or txtNamaKaryawan.Text = "" Or txtTelp.Text = "" Or _ cmbJabatan.Text = "-Pilih Jabatan-" Then MsgBox("Semua Kolom Harus Dilengkapi", vbExclamation, "Crud Application (Guzko Tutorial)") Exit Sub Else Try cmdInsert.CommandText = "INSERT INTO tbKaryawan (idKaryawan,namaKaryawan,alamatKaryawan,noTelp,jabatan) " & _ "VALUES('" & txtIDKaryawan.Text & "','" & txtNamaKaryawan.Text & "'," & _ "'" & txtAlamatKaryawan.Text & "','" & txtTelp.Text & "','" & cmbJabatan.Text & "')" cmdInsert.CommandType = CommandType.Text cmdInsert.Connection = cnnOLEDB cmdInsert.ExecuteNonQuery() MsgBox("Data Berhasil Disimpan", vbInformation, "Crud Application (Guzko Tutorial)") cmdInsert.Dispose() tampilData() cnnOLEDB.Close() txtIDKaryawan.Clear() txtAlamatKaryawan.Clear() txtNamaKaryawan.Clear() txtTelp.Clear() cmbJabatan.Text = "-Pilih Jabatan-" Catch ex As Exception MsgBox("Unknown Error : " & ex.Message, vbCritical, "Crud Application (Guzko Tutorial)") End Try End If End Sub
penjelasanya secara alur jadwal mirip ini gan :
pada ketika agan akan melakukan proses simpan data, aplikasi akan mengecek apakah ada field yang kosong, jika ada akan tampil sebuah pesan peringatan untuk mengisi field tersebut namun jika semua field sudah terisi dengan benar maka akan dilakukan proses simpan.
fungsi try catch diatas adalah, jika seandainya pada waktu proses simpan data itu gagal, maka proses gagal atau pesan peringatan perihal error pada aplikasi akan ditampilkan pada messagebox, sehingga nantinya pengembang aplikasi akan mengetahui dimana letak error aplikasinya.
kemudian sekarang kita beralih ke button hapus, silahkan agan tambahkan instruksi berikut ini :
Private Sub cmdHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdHapus.Click If txtIDKaryawan.Text = "" Then MsgBox("silahkan pilih data yang ingin dihapus", vbExclamation, "Crud Application (Guzko Tutorial)") txtIDKaryawan.Focus() Exit Sub Else Dim tanya As Integer tanya = MsgBox("Apakah anda yakin ingin menghapus data dengan ID : " & txtIDKaryawan.Text & " ?", vbQuestion + vbYesNo, "Crud Application (Guzko Tutorial)") If tanya = vbYes Then cmdInsert.CommandText = "DELETE FROM tbKaryawan WHERE idKaryawan='" & txtIDKaryawan.Text & "'" cmdInsert.CommandType = CommandType.Text cmdInsert.Connection = cnnOLEDB cmdInsert.ExecuteNonQuery() MsgBox("Data Berhasil Dihapus", vbInformation, "Crud Application (Guzko Tutorial)") tampilData() cmdInsert.Dispose() cnnOLEDB.Close() End If End If End Sub
dan juga tambahkan instruksi dibawah ini pada button update:
Private Sub cmdUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUpdate.Click If txtIDKaryawan.Text = "" Then MsgBox("silahkan pilih terlebih dahulu data yang akan diupdate", vbExclamation, "Crud Application (Guzko Tutorial)") txtIDKaryawan.Focus() Exit Sub Else Dim tanya As Integer tanya = MsgBox("Apakah anda yakin ingin meng-update data karyawan dengan ID : " & txtIDKaryawan.Text & " ?", vbQuestion + vbYesNo, "Crud Application (Guzko Tutorial)") If tanya = vbYes Then Me.Enabled = False Form2.txtIDKaryawan.Text = txtIDKaryawan.Text Form2.Show() End If End If End Sub
pada instruksi diatas, jika textboxt id karyawan sudah dipilih oleh user, maka form1 akan didisable dan form2 akan ditampilkan.
kemudian tambahkan sebait instruksi pada event_keypress dari textbox nomor telp mirip ini gan :
Private Sub txtTelp_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtTelp.KeyPress If Not ((e.KeyChar >= "0" And e.KeyChar <= "9") Or e.KeyChar = vbBack) Then e.Handled = True End If End Sub
instruksi diatas memiliki kegunaan untuk mencegah inputan dari user selain angka kemudian tambahkan juga sebait instruksi pada listview_click mirip ini gan :
Private Sub ListView1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListView1.Click txtIDKaryawan.Text = ListView1.SelectedItems.Item(0).Text End Sub
kode diatas digunakan untuk menampilkan data ID Karyawan pada textbox jika listview diklik oleh user. setuju dech coding pada form1 sudah selesai.... masih mau lanjut gan....?????? hehehe... gaspoollllll.... masuk kebagian code editor pada form2 agan dan buat sebuah sub untuk menampilkan data dari database ke textbox. kodenya mirip dibawah ini :
Sub getData() Try 'cnnOLEDB.Open() Dim str As String str = "SELECT * FROM tbKaryawan WHERE idKaryawan = '" & txtIDKaryawan.Text & "'" Dim eksekutor = New OleDbCommand(str, cnnOLEDB) Dim rd = eksekutor.ExecuteReader rd.Read() If rd.HasRows Then txtNamaKaryawan.Text = rd.Item("namaKaryawan") txtAlamat.Text = rd.Item("alamatKaryawan") txtTelp.Text = rd.Item("noTelp") cmbJabatan.Text = rd.Item("jabatan") Else MsgBox("Tidak Ditemukan Data dari ID : " & txtIDKaryawan.Text & " !", vbExclamation, "Crud Application (Guzko Tutorial)") End If Catch ex As Exception MsgBox("Unknow Error : " & ex.Message & "", vbCritical, "Crud Application (Guzko Tutorial)") End Try End Sub
kemudian sehabis itu lanjut ke kepingan form2_load dan inputkan instruksi mirip dibawah ini :
Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load With cmbJabatan .Items.Add("-Pilih Jabatan-") .Items.Add("Team Leader") .Items.Add("Operation and Maintenance") .Items.Add("Desk Control") .Items.Add("Quality Assurance") .Items.Add("Supervisor") End With cnnOLEDB.ConnectionString = strConnectionString cnnOLEDB.Open() getData() End Sub
gak perlu saya jelasin lagi kan gan fungsi instruksi diatas, pasti semuanya sudah pada ngerti, hehe... lanjut kebagian button updatenya, ketikkan instruksi berikut ini gan :
Private Sub cmdUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUpdate.Click Try cmdInsert.CommandText = "UPDATE tbKaryawan SET namaKaryawan='" & txtNamaKaryawan.Text & "', alamatKaryawan = '" & txtAlamat.Text & "',noTelp='" & txtTelp.Text & "',jabatan='" & cmbJabatan.Text & "' WHERE idKaryawan='" & txtIDKaryawan.Text & "'" cmdInsert.CommandType = CommandType.Text cmdInsert.Connection = cnnOLEDB cmdInsert.ExecuteNonQuery() MsgBox("Data Berhasil Diupdate", vbInformation, "Crud Application (Guzko Tutorial)") cmdInsert.Dispose() cnnOLEDB.Close() cmdCancel.PerformClick() Catch ex As Exception MsgBox("Unknown Error : " & ex.Message & "", vbCritical, "Crud Application (Guzko Tutorial)") End Try End Sub
dan instruksi dibawah ini untuk di button cancel nya gan :
Private Sub cmdCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdCancel.Click Me.Close() cnnOLEDB.Close() Form1.Enabled = True Form1.Show() End Sub
akhirnyyaaaaa......selesai juga ane buat postingan ini gan...., sehabis semua instruksi agan buat, waktunya sekarang yaitu testing aplikasinya brooo.... bagi agan-agan yang mau download source code lengkapnya mampu melalui link dibawah yang sudah saya sediakankan gan. silahkan agan jalankan aplikasi tersebut dan jika masih ada yang resah silahkan eksklusif berkomentar gan, gak usah segan-segan, hehee... saya yakin aplikasi saya ini masih sangat jauh dari kata sempurna, namun mudah-mudahan dengan saya membuat aplikasi ini mampu memperlihatkan agan sedikit referensi... setuju gan, sampai jumpa lagi di tutorial berikutnya... seeee.....uuuuuuu
Sumber http://guz-kopyok.blogspot.com/