Judul : Menyimpan Gambar ke Database Mysql Menggunakan Visual Basic 6.0
link : Menyimpan Gambar ke Database Mysql Menggunakan Visual Basic 6.0
Menyimpan Gambar ke Database Mysql Menggunakan Visual Basic 6.0
Senang sekali anda masih mengunjungi blog ini,. Kali ini saya akan coba menulis artikel tentang bagaimana menyimpan file gambar pada visual basic 6.0 ke suatu database, dimana pada artikel ini saya menggunakan database mysql. Dalam beberapa aplikasi yang memanfaatkan gambar teknik ini lebih efektif daripada teknik menampilkan gambar melalui pembacaan path / alamat file gambar.
Pertama-tama buat desain table sederhana dengan dua fieldsbb :
CREATE TABLE `mahasiswa` (
`nim` char(15) default NULL,
`foto` longblob
)
Kita memerlukan tipe data longblob untuk menyimpan nilai binary yang besar dari suatu citra. Selanjutnya saya membuat antarmuka sbb :
Selanjutnya kita mempersiapkan variable dari kelas ADODB yakni Connection, Recordset, dan Stream. Khusus untuk ADODB.Stream kita perlukan untuk mengirimkan data dalam bentuk binary.
Dim conn As New ADODB.Connection
Dim adoquery As New ADODB.Recordset
Dim adostream As New ADODB.Stream
Dim strsql As String
Selanjutnya pada event form_load() kita tambahkan dahulu koneksi ke database mysql berikut potongan kodenya.
Private Sub Form_Load()
Set conn = New ADODB.Connection
strsql = "DRIVER={MySQL ODBC 3.51 Driver}; " _
& " DATABASE=coba;" _
& " SERVER=localhost;UID=root;PASSWORD="
conn.Open strsql
conn.CursorLocation = adUseClient
End Sub
Setelah koneksi berhasil maka lanjutkan dengan membuat fungsi untuk simpan gambar ke database. Kita buat dalam bentuk fungsi untuk mempermudah penggunaan dalam pemrograman nantinya. Berikut ini contoh fungsi SavePictureToDB ()
Public Function SavePictureToDB(RS As ADODB.Recordset, _
sFileName As String)
On Error GoTo errSimpan
Dim oPict As StdPicture
Set oPict = LoadPicture(sFileName)
'jika gambar tida ditemukan
If oPict Is Nothing Then
MsgBox "File tidak ditemukan!", vbOKOnly, "Oops!"
SavePictureToDB = False
Exit Function
End If
Set adostream = New ADODB.Stream
adostream.Type = adTypeBinary
adostream.Open
adostream.LoadFromFile sFileName
RS!foto = adostream.Read
Image1.Picture = LoadPicture(sFileName)
adostream.Close
SavePictureToDB = True
Exit Function
errSimpan:
SavePictureToDB = False
End Function
Selanjutnya tambahkan juga fungsi untuk memanggil gambar dari database ke dalam form maka tambahkan fungsi berikut :
Public Function LoadPictureFromDB(RS As ADODB.Recordset, _
foto As Image)
On Error GoTo errLoad
'Jika record tidak ada
If RS Is Nothing Then
Exit Function
End If
Set adostream = New ADODB.Stream
adostream.Type = adTypeBinary
adostream.Open
adostream.Write RS!foto
'proses menyimpan ke bentuk file
adostream.SaveToFile "C:\Temp.bmp", adSaveCreateOverWrite
foto.Picture = LoadPicture("C:\Temp.bmp")
'proses menghapus file temp.bmp
Kill ("C:\Temp.bmp")
LoadPictureFromDB = True
Exit Function
errLoad:
LoadPictureFromDB = False
End Function
Kemudian tombol open fungsinya adalah menampilkan dialog untuk mencari alamat gambar yang akan disimpan, tambahkan kode berikut :
Private Sub cmdOpen_Click()
cd1.ShowOpen
Image1.Picture = LoadPicture(cd1.FileName)
End Sub
Tombol simpan digunakan untuk memproses penyimpanan data ke database berikut ini potongan kode untuk tombol simpan.
Private Sub cmdSimpan_Click()
Set adoquery = New ADODB.Recordset
adoquery.Open "mahasiswa", conn, _
adOpenDynamic, adLockOptimistic
adoquery.AddNew
adoquery!nim = txtNim.Text
If SavePictureToDB(adoquery, cd1.FileName) = True Then
MsgBox "simpan gambar berhasil"
End If
adoquery.Update
End Sub
Untuk tombol load fungsinya adalah menampilkan gambar dari database ke dalam form, tambahkan potongan kode berikut pada cmdload_onclick() :
Private Sub cmdLoad_Click()
Set adoquery = New ADODB.Recordset
strsql = "select * from mahasiswa"
Set adoquery = conn.Execute(strsql)
adoquery.Find "nim='" & txtNim.Text & "'"
If LoadPictureFromDB(adoquery, Image1) Then
End If
adoquery.Close
End Sub
Selanjutnya jika anda jalankan maka seperti ini.
kemudian tekan tombol Simpan.
nah sampai ini maka data telah tersimpan pada tabel.
kemudian jika ingin menampilkan gambar dari database ke form maka isikan nim pada textbox
selanjutnya tekan tombol Load.
semoga bermanfaat
(edi sugiarto)
Judul : Menyimpan Gambar ke Database Mysql Menggunakan Visual Basic 6.0
link : Menyimpan Gambar ke Database Mysql Menggunakan Visual Basic 6.0