Menggunakan gambar atau foto dalam sebuah manajemen informasi tentu sangatlah membantu dalam upaya memudahkan pemakai untuk mengenali sebuah data, misalkan data karyawan dengan menampilkan foto karyawan, data barang dengan menampilkan data gambar barang dan lain sebagainya. Untuk itu dalam artikel ini saya akan membahas bagaimana menyimpan data gambar ke dalam database dengan VB6, sehingga secara multiuser kita dapat mengakses dari manapun tanpa melibatkan share folder untuk menyimpan file secara fisik. Dalam hal ini gambar secara nyata tersimpan ke dalam database yaitu pada field yang bertipe image.
Dalam contoh sebelumnya saya pernah memberikan sebuah artikel berikut source code program aplikasi yang mengolah data data stok barang. Pada artikel ini saya akan menggunakan sistem pengolahan data yang sama, tetapi saya akan menambahkan data gambar pada master barang.
ADODB.Stream
Dalam mengolah data gambar (menyimpan dan memanggil) dari dan ke dalam database SQL Server dengan VB6, kita dapat menggunakan fasilitas komponen ADODB.Stream, yang mana dengan komponen tersebut secara otomatis dapat mengkonversi data image (misalkan imgGambar.picture) ke dalam dan dari field database SQL Server bertipe image.Dan untuk melakukan upload data gambar dari file gambar yang tersedia kedalam komponen Image atau PictureBox, kita dapat menggunakan komponen CommonDialog, sehingga akan sangat memudahkan operator dalam mencari keberadaan file gambar yang dimasuk. Dari event Cick pada komponen CommonDialog tersebut, kita cukup tuliskan kode program seperti berikut ini:
Private Sub cmdFileGambar_Click()
On Error Resume Next
cmdlgFoto.InitDir = IIf(Trim(GetSetting("StokBarang", "File", "Gambar", "")) <> "", Trim(GetSetting("StokBarang", "File", "Gambar", cmdlgFoto.FileName)), App.Path)
cmdlgFoto.Filter = "All Graphics Files | *.JPG;*.GIF;*.BPM"
cmdlgFoto.ShowOpen
If Trim(cmdlgFoto.FileName) <> "" Then
Set imgFoto.Picture = LoadPicture(cmdlgFoto.FileName)
SavePicture imgFoto.Picture, App.Path + "\temp.jpg"
SaveSetting "StokBarang", "File", "Gambar", cmdlgFoto.FileName
End If
On Error GoTo 0
End Sub
Dalam contoh program tersebut saya membuat dua buah prosedur yang berfungsi menyimpan data gambar ke dalam database saat menyimpan data master barang dan memanggil gambar dari database untuk ditampilkan kedalam Form, pada saat memanggil data barang berdasar kode barang, seperti tampak dalam contoh kode program berikut ini:
Private Sub SaveFoto()
Dim RS As ADODB.Recordset
Dim MyStream As ADODB.Stream
Set RS = New ADODB.Recordset
Set MyStream = New ADODB.Stream
MyStream.Type = adTypeBinary
RS.Open "SELECT * FROM FileFotoBarang WHERE 1=0", oConnection.Server, adOpenStatic, adLockOptimistic
RS.AddNew
SavePicture imgNoImage.Picture, App.Path + "\NoImage.jpg"
MyStream.Open
If imgFoto.Picture <> 0 Then
MyStream.LoadFromFile App.Path + "\Temp.JPG"
Else
MyStream.LoadFromFile App.Path + "\NoImage.jpg"
End If
RS!KodeBarang = Trim(txtKodeBarang.Text)
RS!Foto = MyStream.Read
RS.Update
MyStream.Close
RS.Close
End Sub
Private Sub LoadFoto()
Dim RS As New ADODB.Recordset
Dim MyStream As New ADODB.Stream
MyStream.Type = adTypeBinary
RS.Open "Select * from FileFotoBarang WHERE KodeBarang = '" + Trim(txtKodeBarang.Text) + "'", oConnection.Server
If Not RS.EOF Then
MyStream.Open
MyStream.Write RS!Foto
MyStream.SaveToFile App.Path + "\Temp.JPG", adSaveCreateOverWrite
Set imgFoto.Picture = LoadPicture(App.Path + "\Temp.JPG")
MyStream.Close
Else
Set imgFoto.Picture = imgNoImage.Picture
End If
RS.Close
End Sub
Struktur tabel yang digunakan untuk penyimpanan data identitas barang dan data gambar sebaiknya dibedakan, karena hal ini akan memudahkan dalam melakukan manajemen data.
Berikut source code contoh program aplikasi Menyimpan Data Gambar ke dalam Database dengan VB6, yang bisa anda download disini. Jika anda masih belum jelas tentang program tersebut diatas, anda bisa bertanya pada kami lewat Contact Form atau gunakan dalam Komentar.
Dan bagi yang masih awam tentang bahasa pemrograman VB6, anda bisa mengakses Tutorial VB6 yang telah kami posting sebelumnya.
Daftarkan email anda disini untuk berlangganan artikel kodiing
ConversionConversion EmoticonEmoticon