Private Conn As ADODB.Connection
Private rs As ADODB.RecordsetPublic Sub Form_Load()Set Conn = New ADODB.Connection
Conn.ConnectionString = _
"Provider=Microsoft.Jet.OLEDB" & _
".3.51;Data Source=" & App.Path & _
"\ImageLib.mdb"
Conn.Open

Set rs = New ADODB.Recordset
rs.Open "ImageLibrary", Conn, _
adOpenKeyset, adLockPessimistic, adCmdTable
Set imgDBImage.DataSource = rs
imgDBImage.DataField = "ImageBLOB"End Sub
'读 图片
strData = rs("ImageBLOB"). _
GetChunk(rs("ImageBLOB").ActualSize)

解决方案 »

  1.   

    Private Conn As ADODB.Connection
    Private rs As ADODB.RecordsetPublic Sub Form_Load()Set Conn = New ADODB.Connection
    Conn.ConnectionString = _
    "Provider=Microsoft.Jet.OLEDB" & _
    ".3.51;Data Source=" & App.Path & _
    "\ImageLib.mdb"
    Conn.Open

    Set rs = New ADODB.Recordset
    rs.Open "ImageLibrary", Conn, _
    adOpenKeyset, adLockPessimistic, adCmdTable
    Set imgDBImage.DataSource = rs
    imgDBImage.DataField = "ImageBLOB"End Sub
    '读 图片
    strData = rs("ImageBLOB"). _
    GetChunk(rs("ImageBLOB").ActualSize)
      

  2.   

    将图片控件帮定到数据库的OLE段上就可以了。不用代码。
      

  3.   

    Private Sub SaveToDB()
    Dim bytBLOB() As Byte
    Dim strImagePath As String
    Dim intNum As Integer

    'Save the record
    strImagePath = Trim$(txtImagePath.Text)
    With rs
    .Fields("ImageTitle") = _
    Trim$(txtImageTitle.Text)

    If (optImageType(0).Value) Then 
    'Save as file pointer
    .Fields("ImagePath") = strImagePath
    Else
    If (txtImagePath.Text <> "") Then
    'Open the picture file
    intNum = FreeFile
    Open strImagePath For Binary As #intNum
    ReDim bytBLOB (FileLen(strImagePath))
    'Read data and close file
    Get #intNum, , bytBLOB
    Close #1

    'Store the BLOB
    .Fields("ImagePath") = ""
    .Fields("ImageBLOB"). _
    AppendChunk bytBLOB
    End If
    End If
    .Update
    End With
    End Sub
      

  4.   

    如果你要简单一点的话,直接使用工具箱里的Data控件就可以,无论是调出或者存入。
    但是使用Adodc这个VB6新增的控件就比较麻烦,而且在Access数据库中,2000版与早期的版本对图片数据的处理是不一样的,2000版本在图片数据中加了头文件。