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
肯定可以的,我就是这么用的

解决方案 »

  1.   

    我的程序和你的程序运行都有如下错误
    ---------------------------------------------
       错误信息:
       实时错误'53'
       文件未找到:".......\image1.bmp"
    ---------------------------------------------
    是不是其他地方有错误?
    能把你的程序原码给我看看么?
    MyEmail:[email protected]
    谢谢!
      

  2.   

    我已经知道错误:
    Open App.Path & "image.jpg" For Binary As #FNum
    很奇怪,加APP.Path无法创建文件,去掉App.Path或指明路径就可创建文件。
      

  3.   

    你用过Oracle data control控件么?
    如何使用Oracle data control向Oracle中添加数据,Oracle data control中似乎没有将记录集移到末尾属性和方法。