Private Sub Command6_Click()
'Declare variables as OLE Objects.
Dim OraSession As OraSession
Dim OraDatabase As OraDatabase
Dim OraDynaset As OraDynaset
Dim PartImage As OraBlob
Dim chunksize As Long
Dim AmountRead As Long
Dim buffer As Variant
Dim buf() As Byte
Me.MousePointer = vbHourglass
Me.Caption = "Creating Picture File"
'Create the OraSession Object.
Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle.
Set OraDatabase = OraSession.OpenDatabase("oracledb", "system/manager", 0&) 'Create the OraDynaset Object.
Set OraDynaset = OraDatabase.CreateDynaset("select * from bjpicture where id =27", 0&) 'Get OraBlob from OraDynaset
Set PartImage = OraDynaset.Fields("thumbnailimage").Value
'Set Offset and PollingAmount property for piecewise Read operation
PartImage.offset = 1
PartImage.PollingAmount = PartImage.Size
chunksize = 50000
'Get a free file number
FNum = FreeFile 'Open the file
Open "image1.bmp" For Binary As #FNum 'Do the first read on 'PartImage, buffer must be a variant
AmountRead = PartImage.Read(buffer, chunksize)
'put will not allow Variant type
buf = buffer
Put #FNum, , buf ' Check for the Status property for polling read operation
While PartImage.Status = ORALOB_NEED_DATA
AmountRead = PartImage.Read(buffer, chunksize)
buf = buffer
Put #FNum, , buf
Wend
Close FNum
Picture1.Picture = LoadPicture(App.Path & "\image1.bmp")
Me.Caption = "Success!"
Me.MousePointer = vbNormal
End Sub
肯定可以的,我就是这么用的
'Declare variables as OLE Objects.
Dim OraSession As OraSession
Dim OraDatabase As OraDatabase
Dim OraDynaset As OraDynaset
Dim PartImage As OraBlob
Dim chunksize As Long
Dim AmountRead As Long
Dim buffer As Variant
Dim buf() As Byte
Me.MousePointer = vbHourglass
Me.Caption = "Creating Picture File"
'Create the OraSession Object.
Set OraSession = CreateObject("OracleInProcServer.XOraSession") 'Create the OraDatabase Object by opening a connection to Oracle.
Set OraDatabase = OraSession.OpenDatabase("oracledb", "system/manager", 0&) 'Create the OraDynaset Object.
Set OraDynaset = OraDatabase.CreateDynaset("select * from bjpicture where id =27", 0&) 'Get OraBlob from OraDynaset
Set PartImage = OraDynaset.Fields("thumbnailimage").Value
'Set Offset and PollingAmount property for piecewise Read operation
PartImage.offset = 1
PartImage.PollingAmount = PartImage.Size
chunksize = 50000
'Get a free file number
FNum = FreeFile 'Open the file
Open "image1.bmp" For Binary As #FNum 'Do the first read on 'PartImage, buffer must be a variant
AmountRead = PartImage.Read(buffer, chunksize)
'put will not allow Variant type
buf = buffer
Put #FNum, , buf ' Check for the Status property for polling read operation
While PartImage.Status = ORALOB_NEED_DATA
AmountRead = PartImage.Read(buffer, chunksize)
buf = buffer
Put #FNum, , buf
Wend
Close FNum
Picture1.Picture = LoadPicture(App.Path & "\image1.bmp")
Me.Caption = "Success!"
Me.MousePointer = vbNormal
End Sub
肯定可以的,我就是这么用的
---------------------------------------------
错误信息:
实时错误'53'
文件未找到:".......\image1.bmp"
---------------------------------------------
是不是其他地方有错误?
能把你的程序原码给我看看么?
MyEmail:[email protected]
谢谢!
Open App.Path & "image.jpg" For Binary As #FNum
很奇怪,加APP.Path无法创建文件,去掉App.Path或指明路径就可创建文件。
如何使用Oracle data control向Oracle中添加数据,Oracle data control中似乎没有将记录集移到末尾属性和方法。