Menyimpan Gambar ke Database Mysql Menggunakan Visual Basic 6.0
Senang sekali kamu-kamu masihmengunjungi web ini,. Kali ini saya akan coba menulis artikel tentang bagaimanamenyimpan file gambar pada visual basic 6.0 ke suatu database, dimana padaartikel ini saya menggunakan database mysql. Dalam beberapa aplikasi yangmemanfaatkan gambar teknik ini lebih efektif dari pada teknik menampilkangambar melalui pembacaan path / alamat file gambar.
Pertama-tama buat desain tablesederhana dengan dua field sbb :
CREATE DATABASE (‘nim’ char(15) NOT NULL,’foto’ LONGBLOB);
Kita memerlukan tipe datalongblob untuk menyimpan nilai binary yang besar dari suatu citra. Selanjutnyasaya membuat interface nya sbb :
Selanjutnyakita mempersiapkan variable dari kelas ADODB yakni Connection, Recordset, danStream. Khusus untuk ADODB.Stream kita perlukan untuk mengirimkan data dalambentuk binary. (Letakan Pada Module)
Public conn AsNew ADODB.Connection
Publicadoquery As New ADODB.Recordset
Publicadostream As New ADODB.Stream
Public strsqlAs String
Public SubKoneksiDB()
Set conn = NewADODB.Connection
Set adoquery =New ADODB.Recordset
Set adfostream= New ADODB.Stream
conn.CursorLocation= adUseClient
conn.ConnectionString= "DRIVER={MySQL ODBC 3.51 Driver}; " _
& " DATABASE=coba;" _
& " SERVER=localhost;" _
& "UID=root;PASSWORD="
conn.Open
End Sub
Selanjutnyapada event form_load() kita panggil Coding yang ada pada module berikutpotongan kodenya.
Private SubForm_Load()
KoneksiDB
End sub
Setelahkoneksi berhasil maka lanjutkan dengan membuat fungsi untuk simpan gambar kedatabase. Kita buat dalam bentuk fungsi untuk mempermudah penggunaan dalampemrograman nantinya. Berikut ini contoh fungsi SavePictureToDB ()
PublicFunction SavePictureToDB(RS As ADODB.Recordset, _
sFileName As String)
On Error GoTo errSimpan
Dim oPict As StdPicture
Set oPict = LoadPicture(sFileName)
'jika gambartida 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
Selanjutnyatambahkan juga fungsi untuk memanggil gambar dari database ke dalam form makatambahkan fungsi berikut :
PublicFunction LoadPictureFromDB(RS As ADODB.Recordset, _
foto As Image)
On Error GoTo errLoad
'Jika recordtidak ada
If RS Is Nothing Then
Exit Function
End If
Set adostream = New ADODB.Stream
adostream.Type = adTypeBinary
adostream.Open
adostream.Write RS!foto
'prosesmenyimpan ke bentuk file
adostream.SaveToFile"C:\Temp.bmp", adSaveCreateOverWrite
foto.Picture =LoadPicture("C:\Temp.bmp")
'prosesmenghapus file temp.bmp
Kill ("C:\Temp.bmp")
LoadPictureFromDB = True
Exit Function
errLoad:
LoadPictureFromDB = False
End Function
Kemudiantombol open fungsinya adalah menampilkan dialog untuk mencari alamat gambaryang akan disimpan, tambahkan kode berikut :
Private SubcmdOpen_Click()
cd1.ShowOpen
Image1.Picture= LoadPicture(cd1.FileName)
End Sub
Tombol simpandigunakan untuk memproses penyimpanan data ke database berikut ini potongankode untuk tombol simpan.
Private SubcmdSimpan_Click()
sql ="select*from mahasiswa"
adoquery.CursorLocation= adUseClient
adoquery.Opensql, conn, adOpenDynamic, adLockOptimistic
With adoquery
.AddNew
.Fields(0) = Txtnim.Text
If SavePictureToDB(adoquery, cd1.FileName)= True Then
MsgBox "simpan mahasiswabarberhasil"
End If
.Update
End With
adoquery.Close
End Sub
Untuk tombolload fungsinya adalah menampilkan gambar dari database ke dalam form, tambahkanpotongan kode berikut pada cmdload_onclick() :
Private SubcmdLoad_Click()
Set adoquery =New ADODB.Recordset
strsql ="select * from mahasiswa"
Set adoquery =conn.Execute(strsql)
adoquery.Find"nim='" & txtNim.Text & "'"
IfLoadPictureFromDB(adoquery, Image1) Then
End If
adoquery.Close
End Sub
Selanjutnyajika and compile maka akan seperti ini :
Kemudian pilih salah satu gambar, kemudian masukan nim :
Kemudian Tekan tombol Simpan, makaakan muncul pesan seperti ini :
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.
Sekian Semoga Bermanfaat Yupz……!!!
(Chibi Ophuz)
0 komentar: