在VB里面,怎么把*.bmp和*.jpg格式的图片保存在Access数据库里面啊!

解决方案 »

  1.   

    有一个例子,供参考
    Dim rs As New ADODB.Recordset
    Dim StrCnn As String
    Dim StrSql As String
    Dim RsStream As New ADODB.Stream
    Dim StrMyId As StringPrivate Sub CmmSave_Click()
      If txtFilePath.Text = "" Then Exit Sub
      StrSql = "Delete from myimge where myid = '" & StrMyId & "'"
      adoSysConn.Execute StrSql
      StrSql = "Select MyId ,image from Myimge"
      If rs.State = adStateOpen Then rs.Close
      rs.Open StrSql, adoSysConn, adOpenKeyset, adLockOptimistic
      RsStream.Type = adTypeBinary
      RsStream.Open
      RsStream.LoadFromFile Trim(txtFilePath.Text)
      With rs
           .AddNew
           .Fields("MyId") = StrMyId
           .Fields("image") = RsStream.Read
           .Update
      End With
      Set rs = Nothing
      Set RsStream = Nothing
      Call CboShow
    End SubPrivate Sub CmmShow_Click()
    Dim PathTmp As String
      PathTmp = App.Path & "\Temp.tmp"
      StrSql = "Select MyId,image from Myimge where MyId = '" & Trim(cboId.Text) & "' "
      If rs.State = adStateOpen Then rs.Close
      rs.Open StrSql, adoSysConn, adOpenStatic, adLockReadOnly
      RsStream.Type = adTypeBinary
      RsStream.Open
      RsStream.Write rs!Image
      RsStream.SaveToFile PathTmp, adSaveCreateOverWrite
      RsStream.Close
      Image1.Picture = LoadPicture(PathTmp)
      Set rs = Nothing
      Set RsStream = Nothing
      
    End SubPrivate Sub CboShow()
      StrSql = "select MyId from myimge"
      If rs.State = adStateOpen Then rs.Close
      rs.Open StrSql, adoSysConn, adOpenKeyset, adLockOptimistic
      'If rs.RecordCount < 1 Then Exit Sub
      rs.MoveFirst
      cboId.Clear
      Do While Not rs.EOF
         cboId.AddItem rs!MyId
         rs.MoveNext
      Loop
      cboId.ListIndex = 0
      
    End SubPrivate Sub CmmUpdate_Click()
      If txtFilePath.Text = "" Then Exit Sub
      StrSql = "delete from Myimge where MyId = '" & Trim(cboId.Text) & "'"
      adoSysConn.Execute StrSql
      StrSql = "Select MyId ,image from Myimge"
      If rs.State = adStateOpen Then rs.Close
      rs.Open StrSql, adoSysConn, adOpenKeyset, adLockOptimistic
      RsStream.Type = adTypeBinary
      RsStream.Open
      RsStream.LoadFromFile Trim(txtFilePath.Text)
      With rs
           .AddNew
           .Fields("MyId") = Trim(cboId.Text)
           .Fields("image") = RsStream.Read
           .Update
      End With
      Set rs = Nothing
      Set RsStream = Nothing
      Call CboShow
    End Sub