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:

Copyright © 2012 0phuz DarkSector Inspiron.