比较难解决,以前我有问过相同的问题,并去搜索和下载了一个例程,但是是用API函数来解决的,很麻烦。而且浏览速度慢。
这里提供另一种思路,供你参考:在数据库里存放图片的路径和文件名,在一个共享目录下存放所有图片资料。这样做速度很快,很多ASP网站也都采用这种方法。

解决方案 »

  1.   

    1、如果图片是文件,转3
    2、如果图片是Picture上的或其他的,首先保存成文件,如:
      savepicture picture1.image,"c:\yourtmp\tmp.bmp"
    3、用二进制方式打开图片文件,将字节数组赋给纪录集(数据库的OLE字段)
      

  2.   

    一:在ADO中存
    在你要存储的字段里把路径写好,这样做的一件不好处是换了机子后图片不能显示。
    二:在ACCESS中存
    你要把存储的类型设为:ALO...格式的,这样他才可以存。
    试试吧。
      

  3.   

    给一段代码你参考
    Private Sub SaveImgToDB()
      Dim bytBLOB() As Byte '字节数组
      Dim intNum As Long  '文件号
      
      '保存记录
      If boAddNewStamp Then
        With rsStamp
          If (ImgPath <> "") Then
            '打开图片文件
            intNum = FreeFile
            Open ImgPath For Binary As #intNum
            ReDim bytBLOB(FileLen(ImgPath)) '因为FileLen 函数的返回值单位是字节
            '读数据并关闭文件
            Get #intNum, , bytBLOB
            Close #intNum
          
            '存储长二进制数据
            .Fields("邮票图像").AppendChunk bytBLOB
          End If
      '    .Update
        End With
      ElseIf boModifyRecord Then
        With rsStampDetail
          If (ImgPath <> "") Then
            '打开图片文件
            intNum = FreeFile
            Open ImgPath For Binary As #intNum
            ReDim bytBLOB(FileLen(ImgPath)) '因为FileLen 函数的返回值单位是字节
            '读数据并关闭文件
            Get #intNum, , bytBLOB
            Close #intNum
          
            '存储长二进制数据
            .Fields("邮票图像").AppendChunk bytBLOB
          End If
        End With
      End If
    End Sub代码只是一个自定义过程,其中一些未声明的变量是在其它地方定义的全局变量。对此无需理会,只看与图像存取有关部分即可。用的是ADO,但不是用ADODC控件,不过道理是一样的。