我的保存图片的代码:
sql = "select * from brxxb"
mrc.Open sql, cn, adOpenDynamic, adLockOptimistic
If Not IsDate(Text1(1).Text) Then
   MsgBox "出生时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
   Text1(1).SetFocus
Else
  Text1(1) = Format(Text1(1), "yyyy-mm-dd")
 mrc.AddNew
 mrc.Fields(0) = Text1(2).Text
 mrc.Fields(1) = Combo1
 mrc.Fields(2) = Text1(1).Text
 mrc.Fields(3) = Text1(0).Text
 mrc.Fields(5) = Text1(13).Text
 mrc.Fields(6) = Text1(14).Text
 mrc.Fields(7) = Text1(15).Text
 mrc.Fields(8) = Combo2
 mrc.Fields(9) = Text1(17).Text
 mrc.Fields(10) = Text1(18).Text
 mrc.Fields(11) = Text1(19)
 mrc.Fields(12) = Text2
 mrc.Fields(13) = Text3
 mrc.Fields(14) = Combo3
 If Trim(CommonDialog1.FileName) <> "" Then '假如有图片,开始得到图片文件
  Dim DBStream As ADODB.Stream
  Set DBStream = New ADODB.Stream
  DBStream.Type = adTypeBinary
  DBStream.Open                     '将数据获取到Stream对象中
  DBStream.LoadFromFile CommonDialog1.FileName
  mrc.Fields(4).Value = DBStream.Read
  mrc.Update
  Set DBStream = Nothing
  MsgBox "新增病人信息成功!", vbOKOnly + vbExclamation, "提示"
 End If
 mrc.Close
End If
急求显示图片的代码.(就是把数据库中图片字段的值读出来,让它在Pictrure控件显示出来.)先谢了.

解决方案 »

  1.   

    Set iStm = New ADODB.Stream
        With iStm
            .Mode = adModeReadWrite
            .Type = adTypeBinary
            .Open
            .Write LDObj.RS("Pic")
            
            .SaveToFile App.Path & "\test1.jpg"
        End With
       
        Picture2.Picture = LoadPicture(App.Path & "\test1.jpg")
        Picture2.Refresh
        iStm.Close
      

  2.   

    非常感谢!.Write LDObj.RS("Pic")这句是什么意思?看不懂.LDObj是什么?
      

  3.   

    下面是图片保存与显示,你可以参考参考
      Option Explicit
    Dim b As ADODB.Recordset
    Dim c As ADODB.Stream
    Dim conn As New ADODB.ConnectionPrivate Sub Command1_Click()    conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\1.mdb;Persist Security Info=False"
        conn.Execute "create table a (Str longbinary)"
    End SubPrivate Sub Command2_Click()
        Set b = New ADODB.Recordset
        Set c = New ADODB.Stream
        c.Mode = adModeReadWrite
        c.Type = adTypeBinary
        c.Open
        c.LoadFromFile "D:\ss.JPG"
        b.Open "select * from a", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\1.mdb;Persist Security Info=False", adOpenDynamic, adLockOptimistic
        b.AddNew
        b.Fields.Item(0).Value = c.Read()    b.Update
        b.Close
    Set b = New ADODB.Recordset
        b.Open "select * from a", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:1.mdb;Persist Security Info=False", adOpenKeyset, adLockOptimistic
        MsgBox b.RecordCount
        b.MoveLast
        c.Write (b.Fields.Item(0).Value)
        c.SaveToFile "d:\aa.JPG", adSaveCreateOverWrite
        Picture1.Picture = LoadPicture("D:\aa.JPG")
    End Sub
      

  4.   

    先用ADO STREAM将OLE控件的图片存储到SQL IMAGE字段,再采用ADO STREAM将SQL IMAGE字段输出到硬盘文件后,用LoadPicture()调用时出错了,
    在DATAReport中的RptImage控件中 
    语句 Set Me.Sections.Item("comprept1_Detail").Controls.Item("image1").Picture = Load
    Picture(app.path & "\tmpPIC.bmp")
    错误:
     实时错误 '481':无效图片请问如何解决,或者有无其它的方法可以将SQL的IMAGE字段存储的图片打印出来
    [email protected]