Cara Menyimpan Gambar Ke Databases Mysql Dengan VB.net
Contoh aplikasi sederhana cara menyimpan gambar ke database mysql dengan vb.net
Pertama yang perlu dilakukan adalah mempersiapkan table untuk menyimpan gambar. Sebagai contoh saya membuat tb_gambar dan membuat 3 field :
Kedua design form nya seperti dibawah ini :
Dengan properti berikut :
Nama Kontrol | Property | Values |
Label1 | Text | Nama gambar: |
Label2 | Text | Gambar preview : |
Textbox1 | Name | Txnama |
Text | {kosong} | |
Button1 | Name | Btbrowse |
Text | Browse | |
Button2 | Name | Btsimpan |
Text | Simpan | |
Picturebox1 | Name | Picturebox1 |
Selanjutnya adalah proses penulisan koding : agar vb.net dapat melakukan koneksi ke mysql tambahkan referensi mysql ke vb.net. Project -> add reference -> pada tab .NET klik Mysql.Data -> Ok.
Tuliskan perintah berikut ke dalam sebuah module: project -> add module lalu beri nama dengan “konek”.
Imports MySql.Data.MySqlClient
Module konek
Private con As MySqlConnection = Nothing
Private con As MySqlConnection = Nothing
Public Function ok() As MySqlConnection
Dim constring As String
constring = “;server=localhost” & “;user=root” & “;password=root” & “;database=db_latihan”
Try
con = New MySqlConnection(constring)
con.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, “Koneksi error”, MessageBoxButtons.OK,MessageBoxIcon.Error)
End Try
Return con
End Function
End Module
Dim constring As String
constring = “;server=localhost” & “;user=root” & “;password=root” & “;database=db_latihan”
Try
con = New MySqlConnection(constring)
con.Open()
Catch ex As Exception
MessageBox.Show(ex.Message, “Koneksi error”, MessageBoxButtons.OK,MessageBoxIcon.Error)
End Try
Return con
End Function
End Module
Setelah itu tambahkan code ini di dalam form untuk menyimpan gambar :
Imports MySql.Data.MySqlClient
Imports System.IO
Imports System.Drawing.Bitmap
Imports System.IO
Imports System.Drawing.Bitmap
Public Class Form1
Private strImageName As String
Private imageBytes As Byte = Nothing
Private fileSize As UInt32
Private rawData() As Byte
Private fs As FileStream
Private strImageName As String
Private imageBytes As Byte = Nothing
Private fileSize As UInt32
Private rawData() As Byte
Private fs As FileStream
Private Sub btbrowse_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btbrowse.Click
‘Menampilkan dialog form untuk mencari gambar di komputer
Try
Dim dlgfile As OpenFileDialog
PictureBox1.Image = Nothing
‘Menampilkan dialog form untuk mencari gambar di komputer
Try
Dim dlgfile As OpenFileDialog
PictureBox1.Image = Nothing
dlgfile = New OpenFileDialog
dlgfile.Filter = “JPEG images(*.jgp,*.jpeg)|*.jpg;*.jpeg |GIF images (*.gif)
dlgfile.Filter = “JPEG images(*.jgp,*.jpeg)|*.jpg;*.jpeg |GIF images (*.gif)
|*.gif | Bitmaps (*.bmp)|*.bmp”
dlgfile.FilterIndex = 1
PictureBox1.Visible = True
If dlgfile.ShowDialog = Windows.Forms.DialogResult.OK Then
strImageName = dlgfile.FileName
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox1.Image = Image.FromFile(strImageName)
End If
Catch ex As Exception
MessageBox.Show(ex.Message, “Error tampilkaan gambar”,MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
dlgfile.FilterIndex = 1
PictureBox1.Visible = True
If dlgfile.ShowDialog = Windows.Forms.DialogResult.OK Then
strImageName = dlgfile.FileName
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
PictureBox1.Image = Image.FromFile(strImageName)
End If
Catch ex As Exception
MessageBox.Show(ex.Message, “Error tampilkaan gambar”,MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub insert_gambar()
fs = New FileStream(strImageName, FileMode.Open, FileAccess.Read)
fileSize = fs.Length
rawData = New Byte(fileSize) {}
fs.Read(rawData, 0, fileSize)
fs.Close()
End Sub
fs = New FileStream(strImageName, FileMode.Open, FileAccess.Read)
fileSize = fs.Length
rawData = New Byte(fileSize) {}
fs.Read(rawData, 0, fileSize)
fs.Close()
End Sub
Private Sub btsimpan_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles btsimpan.Click
Dim sql As String = “insert into tb_gambar(nama,gambar)
Dim sql As String = “insert into tb_gambar(nama,gambar)
values(@nama,@gambar)”
Dim cmd As MySqlCommand
Dim cmd As MySqlCommand
Try
insert_gambar()
cmd = New MySqlCommand(sql, konek.ok)
cmd.Parameters.Add(“@nama”, MySqlDbType.VarChar).Value =txnama.Text
cmd.Parameters.Add(“@gambar”, MySqlDbType.Blob).Value =rawData
cmd.ExecuteNonQuery()
insert_gambar()
cmd = New MySqlCommand(sql, konek.ok)
cmd.Parameters.Add(“@nama”, MySqlDbType.VarChar).Value =txnama.Text
cmd.Parameters.Add(“@gambar”, MySqlDbType.Blob).Value =rawData
cmd.ExecuteNonQuery()
MessageBox.Show(“Gambar berhasil disimpan”, “Simpan sukses”, MessageBoxButtons.OK, MessageBoxIcon.Information)
txnama.Clear()
PictureBox1.Image = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message, “Error simpan”)
Finally
sql = Nothing
cmd = Nothing
konek.ok.Close()
End Try
End Sub
PictureBox1.Image = Nothing
Catch ex As Exception
MessageBox.Show(ex.Message, “Error simpan”)
Finally
sql = Nothing
cmd = Nothing
konek.ok.Close()
End Try
End Sub
End Class
Menampilkan gambar dari database
Untuk dapat menampilkan kembali gambar yang telah kita simpan, saya menambahkan code pada sub textchanged dengan parameter nama gambar, jadi apabila kita memasukkan nama gambar dan nama gambar sudah ada maka gambar secara otomatis akan tampil.
Private Sub txnama_TextChanged(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles txnama.TextChanged
Dim sql As String = “select * from tb_gambar where nama=@nama”
Dim cmd As New MySqlCommand(sql, konek.ok)
Dim rd As MySqlDataReader
Try
cmd.Parameters.Add(“@nama”, MySqlDbType.VarChar).Value = txnama.Text
rd = cmd.ExecuteReader
If rd.Read Then
If rd(“gambar”) IsNot DBNull.Value Then
Dim imageByte() As Byte = Nothing
imageByte = CType(rd(“gambar”), Byte())
Dim ms As New MemoryStream(imageByte)
Dim bmap As New Bitmap(ms)
PictureBox1.Image = CType(bmap, Image)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message, “Error display gambar”,MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
sql = Nothing
cmd = Nothing
konek.ok.Close()
End Try
End Sub
Dim sql As String = “select * from tb_gambar where nama=@nama”
Dim cmd As New MySqlCommand(sql, konek.ok)
Dim rd As MySqlDataReader
Try
cmd.Parameters.Add(“@nama”, MySqlDbType.VarChar).Value = txnama.Text
rd = cmd.ExecuteReader
If rd.Read Then
If rd(“gambar”) IsNot DBNull.Value Then
Dim imageByte() As Byte = Nothing
imageByte = CType(rd(“gambar”), Byte())
Dim ms As New MemoryStream(imageByte)
Dim bmap As New Bitmap(ms)
PictureBox1.Image = CType(bmap, Image)
PictureBox1.SizeMode = PictureBoxSizeMode.StretchImage
End If
End If
Catch ex As Exception
MessageBox.Show(ex.Message, “Error display gambar”,MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
sql = Nothing
cmd = Nothing
konek.ok.Close()
End Try
End Sub
Demikian contoh program vb.net untuk menyimpan gambar ke database mysql, ini adalah contoh sederhana dan dapat di implementasikan pada aplikasi yang anda kembangkan seperti menyimpan gambar karywan dan atau gambar buku untuk aplikasi perpustakaan.
sumber : hendrowijaya.com
thenks dah posting
ReplyDelete3 field apa aja ? mysql nya?
ReplyDelete