Sekedar nambahin biar sedikit variasi utk codingnya.
Saya pakai ADODB.Stream object
Flow nya sbb::
Utk Save image to DB:
- load image file into VB Image object(utk nampilin di VB)
- load image file into ADODB.Stream object
- save ADODB.Stream object into DB via writeable recordset
Utk Show image from DB:
- baca via recordset, lalu write image data into ADODB.Stream object
- write ADODB.Stream object into image file (temporary file)
- load image file into VB Image object
Contoh table::
blob_table(
id NUMBER,
content BLOB)
Image1 = picture/image object di VB
Berikut codenya:
Private Sub SaveImageButton_Click()
Dim OraCon As ADODB.Connection
Dim OraRs As New ADODB.Recordset
Dim OraBlob As New ADODB.Stream
Set OraCon = CreateObject("ADODB.Connection")
OraCon.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=myoradb;" & _
"User ID=scott;" & _
"Password=tiger;"
OraCon.Open
MsgBox "Connected..."
OraRs.Open "select * from blob_table", OraCon, adOpenStatic,
adLockOptimistic
OraBlob.Type = adTypeBinary
OraBlob.Open
OraBlob.LoadFromFile "c:\splash.gif"
If OraBlob.Size > 0 Then
OraRs.AddNew
OraRs("id") = 1
OraRs("content") = OraBlob.Read
OraRs.Update
MsgBox "Success ...."
Else
MsgBox "Nggak Success ...."
End If
OraBlob.Close
OraRs.Close
OraCon.Close
Set OraRs = Nothing
Set OraBlob = Nothing
Set OraCon = Nothing
End Sub
Private Sub ShowImageButton_Click()
Dim OraCon As ADODB.Connection
Dim OraRs As New ADODB.Recordset
Dim OraBlob As New ADODB.Stream
Set OraCon = CreateObject("ADODB.Connection")
OraCon.ConnectionString = "Provider=OraOLEDB.Oracle;" & _
"Data Source=myoradb;" & _
"User ID=scott;" & _
"Password=tiger;"
OraCon.Open
MsgBox "Connected..."
OraRs.Open "select * from blob_table", OraCon, adOpenStatic,
adLockOptimistic
OraRs.MoveFirst
MsgBox OraRs("id").Value
OraBlob.Type = adTypeBinary
OraBlob.Open
OraBlob.Write OraRs("content").Value
If OraBlob.Size > 0 Then
OraBlob.SaveToFile "c:\orablob.gif"
Image1.Picture = LoadPicture("c:\orablob.gif")
End If
OraBlob.Close
OraRs.Close
OraCon.Close
Set OraRs = Nothing
Set OraBlob = Nothing
Set OraCon = Nothing
End Sub
bw
--- In [email protected], Privida Kristiono <priv...@...>
wrote:
>
> OO4O (Oracle Object for OLE)
> adalah komponen yang disediakan oleh Oracle untuk mengakses
database Oracle.komponen ini bawaan dari oracle, diinstall pada saat
kita menginstall Oracle Client
> Ada 2 object OO4O yang bisa kita gunakan untuk mengakses BLOB yaitu
melalui object OraSession dan object OraServerContohMisalkan kita
punya tabel dengan struktur sbbCREATE TABLE part
> ( part_id NUMBER,
> part_name VARCHAR2(20),
> part_image BLOB,
> part_desc CLOB,
> part_collateral BFILE
> );
>
> Untuk menyimpan recor baru beserta gambarnya kita bisa gunakan kode
program berikut ini
>
> Dim OraSn As OraSession
> Dim OraDb As OraDatabase
> Dim PartImage as OraBLOB
> Dim OraDyn As OraDynaset
> Dim StrQ as String
>
> 'Membuat Object OraSession.
> Set OraSn = CreateObject("OracleInProcServer.XOraSession")
>
> 'Membuat Object OraDatabase dengan membuka connection dgn Oracle.
> Set OraDbs = OraSn.OpenDatabase("MyServer", "scott/tiger", 0&)
>
> StrQ = "Insert Into part " _
> "Values (11,'LP2824', Null, " _
> "'Speed 2 ips, 203 dpi, Printwidth 2", RS232/USB', Null)"
> OraDbs.ExecuteSQL (StrQ)
>
> 'Membuat Dynaset yang memiliki field BLOB
> StrQ = "Select part_id, part_image From part " & _
> "Where part_id = 11"
>
> set OraDyn = OraDatabase.CreateDynaset (StrQ,0)
> set PartImage = OraDyn.Fields("part_image").Value
>
> 'menyalin seluruh isi file lp2824.jpg.jpg ke LOBS
> OraDyn.Edit
> PartImage.CopyFromFile "C:\PictureTmp\lp2824.jpg"
> OraDyn.Update
>
> keterangan (property dan method yang dimiliki OO4O) detailnya
panjang sekali, coba anda baca di buku saya "Pemrogramam Database
Tingkat Lanjut dengan VB6" Buku kedua, bab 3disitu anda bisa
menemukan penjelasan lengkap mengakses BLOB (termasuk BFILE) dan
contoh program aplikasinyaSalam,Privida
>
>
>
>
>
> --- On Fri, 1/9/09, calm boy <c4lm_...@...> wrote:
> From: calm boy <c4lm_...@...>
> Subject: Re: [indo-oracle] Re: menyimpan/menampilkan gambar
database oracle dari Visual Basic
> To: [email protected]
> Date: Friday, January 9, 2009, 6:01 PM
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> terima kasih banyak pak untuk penjelasan nya. tapi yg
mau saya tau OO4O itu apa ya?? terus penggunaan nya seperti apa.
Terima kasih
>
>
>
> --- On Fri, 1/9/09, Privida Kristiono <priv...@yahoo. com> wrote:
>
> From: Privida Kristiono <priv...@yahoo. com>
>
> Subject: Re: [indo-oracle] Re: menyimpan/menampilk an gambar
database oracle dari Visual Basic
>
> To: indo-oracle@ yahoogroups. com
>
> Date: Friday, January 9, 2009, 10:59 AM
>
>
>
> Untuk menyimpan gunakanlah field dengan type data BLOBuntuk
mengaksesnya anda bisa menggunakan ADO atau OO4O
>
>
>
> + dengan ADO, object gambar harus diaksens piece by piece dengan
GetChunk untuk mengambil dari field dan AppendChunk untuk
menyimpan ke field + ada leih banyak method yang disediakan oleh
OO4O untuk mengakses BLOB, anda bisa menggunakan cara multiple
piece atau single pieceketerangan lebih lanjut bsia ada baca di buku
saya "Pemrogramam Database Tingkat Lanjut dengan VB6" Buku kedua,
bab 3Salam,Privida
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> [Non-text portions of this message have been removed]
>