Social Icons

Kamis, 18 April 2013

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

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 he…he….
Berikut ini capture hasil dari program yang kita bahas.

Dan tidak lupa juga saya lampirkan source codenya, dan anda bisa mendownloadnya disini http://www.4shared.com/rar/oocqQdJJ/BLOB_project.html
Semoga bermanfaat…..

4 komentar: