Load/Save Gambar ke database Menggunakan ADODB Stream

January 14, 2008

Masih banyak programmer-programmer muda (termasuk saya sendiri) yang kadang bingung gimana caranya menyimpan/ membuka file image yang disimpan didalam database. Kalo di Ms. Access, tipedata yg dipake utk nyimpen picture itu OLE
sedangkan DBMS laen (SQL Server, MySQL de… el… el….) adalah BLOB.


berikut adalah contoh untuk mengambil data gambar via Visual Basic 6.0 menggunakan ADODB.stream

Code:
Dim sSQL As String, rs As ADODB.Recordset
Dim BlobValue As New ADODB.Stream
If IsNull(IDFileUpdated) = False Then ‘ada gambarnya
sSQL = “SELECT * FROM Files WHERE IDFile = ” & IDFile
Set rs = db.Execute(sSQL)
BlobValue.Type = adTypeBinary
BlobValue.Open
BlobValue.Write rs!file
BlobValue.SaveToFile “C:\” & rs!NamaFile, adSaveCreateOverWrite
imgFoto.Picture = LoadPicture(”C:\” & rs!NamaFile)
Call Kill(”C:\” & rs!NamaFile)
BlobValue.Close
NamaFileUpdated = rs!NamaFile
FileSizeUpdated = rs!FileSize
rs.close
set rs = nothing
Else
Set imgFoto.Picture = Nothing
End If
set blobvalue = nothing

dan cara cara menyimpan di dalam database menggunakan adodb.stream :

Code:
BlobValue.Type = adTypeBinary
rs.Open “SELECT * FROM Files WHERE 1=0″, db, adOpenKeyset, adLockOptimistic
rs.AddNew
BlobValue.Open
BlobValue.LoadFromFile ValidStr(cdlg.FileName)
rs!IDFile = iIDFile
rs!NamaFile = FilePart(cdlg.FileName, NameExt)
rs!FileSize = BlobValue.Size
rs!file = BlobValue.Read
rs.Update
BlobValue.Close
rs.Close
End If
Set BlobValue = Nothing

kalau