Anda di halaman 1dari 5

Membuat perintah insert,edit,hapus dan cari file image dengan VB.

Net dan MS Access


JUNE 28, 2012 1 COMMENT

Sudah lama gak pernah ngisi artikel di blog, karena terlalu sibuk dengan pekerjaan. Ok berhubung banyak yang minta source code, gimana cara menginput file gambar sekaligus fungsi cari dan edit menggunakan VB.Net dengan database MS Access, disini saya akan memulai langkah-langkah pembuatan projectnya. Pada postingan sebelumnya sudah saya tulis juga artikel tentang perintah insert,edit dan hapus menggunakan VB.Net dan MS Access dimana disana hanya disinggung mengenai modifikasi data dengan format string, sedangkan pada artikel ini akan kita singgung gimana sih sekalian input file gambar sekaligus. Langsung buka MS Access anda kemudian buat sebuah database, disini saya beri nama BLOB lalu buah sebuah tabel dengan nama PEGAWAI. susunlah field-fieldnya beserta tipe datanya seperti gambar dibawah ini.

Jika sudah selesai langsung buka MS Visual Studio anda, yang saya pake versi 9.0 atau lebih akrabnya VB.Net 2008, buat project dengan nama BLOB_project kemudian simpan. Desainlah form anda seperti gambar dibawah ini

Jangan lupa buat sebuah modul yang berfungsi untuk menyimpan string koneksi ke database yang akan diakses oleh form nantinya dan isinya seperti ini Module modKoneksi Public Koneksi As String = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & Application.StartupPath & \BLOB.mdb End Module Berikut ini adalah isi dari source code yang ada pada form BLOB.

Imports System.IO Imports System.Data.OleDb Public Class frmBlob Private path As String = Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click Try With ofdPhoto .Title = Browse Gambar .FileName = Pilih Gambar .Filter = Type(*.jpg, *.jpeg, *.bmp, *.gif, *.png)|*.jpg; *.jpeg; *.bmp; *gif; *.png .ShowDialog() path = .FileName picPhoto.Image = Image.FromFile(path) End With Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, Error) End Try End Sub Private Sub btnSimpan_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSimpan.Click Dim fs As New FileStream(ofdPhoto.FileName, FileMode.OpenOrCreate, FileAccess.Read) Dim gambar(fs.Length) As Byte Dim Simpan As String = INSERT INTO PEGAWAI(ID_PEGAWAI,NAMA,ALAMAT,JEN_KEL,PHOTO) & _ VALUES( & txtID.Text & , & txtNama.Text & , & _ & txtAlamat.Text & , & cboJenkel.Text & ,@photo) Try fs.Read(gambar, 0, CInt(fs.Length)) fs.Close() Dim Conn As New OleDbConnection(Koneksi) Conn.Open() Dim cmd As New OleDbCommand(Simpan, Conn) cmd.Parameters.AddWithValue(@photo, gambar) cmd.ExecuteNonQuery() MsgBox(Data Berhasil Disimpan!, MsgBoxStyle.Information, Perhatian) btnBatal.PerformClick() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, Error) End Try End Sub Private Sub btnUpdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnUpdate.Click Dim fs As New FileStream(ofdPhoto.FileName, FileMode.OpenOrCreate, FileAccess.Read) Dim gambar(fs.Length) As Byte Dim Update As String = UPDATE PEGAWAI SET NAMA= & txtNama.Text & , & _ ALAMAT= & txtAlamat.Text & ,JEN_KEL= & cboJenkel.Text & , & _

PHOTO=@photo WHERE ID_PEGAWAI= & txtID.Text & Try fs.Read(gambar, 0, CInt(fs.Length)) fs.Close() Dim Conn As New OleDbConnection(Koneksi) Conn.Open() Dim cmd As New OleDbCommand(Update, Conn) cmd.Parameters.AddWithValue(@photo, gambar) cmd.ExecuteNonQuery() MsgBox(Data Berhasil Diperbaiki, MsgBoxStyle.Information, Perhatian) btnBatal.PerformClick() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, Error) End Try End Sub Private Sub btnCari_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCari.Click Dim CariPhoto As String = SELECT PHOTO FROM PEGAWAI WHERE ID_PEGAWAI= & txtID.Text & Dim CariData As String = SELECT * FROM PEGAWAI WHERE ID_PEGAWAI= & txtID.Text & Try Dim Conn As New OleDbConnection(Koneksi) Conn.Open() Dim cmdData As New OleDbCommand(CariData, Conn) Dim reader As OleDbDataReader = cmdData.ExecuteReader reader.Read() If reader.HasRows Then txtNama.Text = reader(NAMA) txtAlamat.Text = reader(ALAMAT) cboJenkel.Text = reader(JEN_KEL) Proses Cari Image Dengan Nilai byte Dim cmdPhoto As New OleDbCommand(CariPhoto, Conn) Dim gambar As Object = cmdPhoto.ExecuteScalar If gambar IsNot DBNull.Value Then Dim byteArray As Byte() = CType(gambar, Byte()) Dim ioStream As New IO.MemoryStream(byteArray.Length) ioStream.Write(byteArray, 0, byteArray.Length 1) picPhoto.Image = Image.FromStream(ioStream) ioStream.Close() ioStream.Dispose() Else MsgBox(Photo Tidak Ditemukan!, MsgBoxStyle.Exclamation, Perhatian) End If Else MsgBox(Data Tidak Ditemukan.!, MsgBoxStyle.Exclamation, Perhatian) End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, Error)

End Try End Sub Private Sub btnBatal_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBatal.Click txtID.Text = txtNama.Text = txtAlamat.Text = cboJenkel.Text = picPhoto.Image = Nothing txtID.Focus() End Sub Private Sub btnHapus_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnHapus.Click Dim Hapus As String = DELETE FROM PEGAWAI WHERE ID_PEGAWAI= & txtID.Text & Try Dim Pesan As String = MsgBox(Yakin Akan Menghapus Data dengan ID Pegawai = & txtID.Text & ?, MsgBoxStyle.YesNo + MsgBoxStyle.Question, Konfirmasi) If Pesan = vbYes Then Dim Conn As New OleDbConnection(Koneksi) Conn.Open() Dim cmd As New OleDbCommand(Hapus, Conn) cmd.ExecuteNonQuery() MsgBox(Data Sudah Dihapus!) btnBatal.PerformClick() Else btnBatal.PerformClick() Exit Sub End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, Error) End Try End Sub Private Sub txtID_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtID.KeyPress If e.KeyChar = Chr(13) Then btnCari.PerformClick() End If End Sub Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked System.Diagnostics.Process.Start(http://salamilmu.wordpress.com”) End Sub End Class Sekilas mengenai isi source code dari program ini. Maaf jika kurang mengerti karena saya gak sempat memaparkan fungsi dari masing-masing statement yang ada. Silahkan anda mempelajari sendiri biar ngerti hehe.

Berikut ini capture hasil dari program yang kita bahas.