Wednesday, December 28, 2011

Menyimpan dan mengambil gambar dari Database dengan ADODB

Bagaimana cara menyimpan gambar ke dalam sebuah database, dengan pemprogramman VB6 ?
Berikut, penggalan kode yang mungkin bisa menjadi insipirasi anda.

1. Buat Database sebagai berikut (gunakan MS ACCESS / SQL SERVER). saya sudah pernah mencoba dengan MySQL Tapi tidak bisa mengunakan fungsi ini jika gambar berukuran kurang dari 1 MB.

Buat table tbl_photo di database anda.

TBL_PHOTO
---------
IDPHOTO AUTO NUMBER
PHOTO IMAGE / BLOB


2. Buat Project Visual basic 6
3. Sebelumnya anda tambahkan terlebih dahulu library Microsoft Scripting Runtime pada menu Project > Referance.
library ini memiliki sejumlah fungsi yang berhubungan dengan pengolahan File & directory. anda bisa melakukan pengecekan apakah file ada didalam sebuah directory atau tidak anda.
4. Tambahkan Libary Microsoft ActiveX data Object 2.x library (anda bisa ambil versi yang terakhir 2.8)
5. berikut fungsi save & get image ke database

Function saveImage(rs As Object, FieldName, mPicture As Object, fileExt As String)
Dim strPath As String
Dim strIn As String
Dim fo As New FileSystemObject

Dim mystream As New ADODB.Stream
Set mystream = New ADODB.Stream
mystream.Type = adTypeBinary


If Not IsNull(mPicture) Then
strPath = App.Path & "\savePic.jpg"
If fo.FileExists(strPath) Then
Kill strPath
End If
If mPicture <> 0 Then
SavePicture mPicture, strPath

mystream.Open
mystream.LoadFromFile strPath
rs.Fields(FieldName) = mystream.Read

End If
End If
mystream.Close
End Function
Function LoadImageFromDB(rs As Object, FieldName, mPicture As Object)
Dim strOut As String
Dim strFileout As String
Dim mystream As New ADODB.Stream
mystream.Type = adTypeBinary


If Trim(rs.Fields(FieldName).Value & "") <> "" Then
strOut = Space(rs.Fields(FieldName).ActualSize)

' Save the image to file

strFileout = App.Path & "\LoadPic.jpg"
If strOut <> "" Then
If Dir(strFileout, vbArchive Or vbHidden Or vbNormal Or vbReadOnly Or vbSystem) <> "" Then Kill strFileout
mystream.Open
mystream.Write rs.Fields(FieldName)
mystream.SaveToFile strFileout, adSaveCreateOverWrite
Set mPicture.Picture = LoadPicture(strFileout)

Else
Set mPicture.Picture = Nothing
End If
mystream.Close
End If
End Function




anda bisa download sourcecodenya disini: http://bit.ly/sN60qI

No comments:

Post a Comment