图片要保存到数据库的二进制类型字段中,用ADO或DAO的AppendChunk 方法
    Dim DataFile As Integer, Fl As Long, Chunks As Integer, Fll As Long
    Dim Fragment As Integer, Chunk() As Byte, i As Integer, n As Integer, ii As Integer
    Dim mField As String
    Const ChunkSize As Integer = 6384
    
    Err = 0
    On Error GoTo errHand
    Open 图象文件For Binary Access Read As DataFile
    Fl = LOF(DataFile)
    If Fl = 0 Then Close DataFile: Exit Function
    n = 1
    Fll = Fl
    i = Int(Fll / 5000784) + 1
    Do While i >= 1
        If Fll > 5000784 Then
            Fl = 5000784
            Fll = Fll - 5000784
        Else
            Fl = Fll
        End If
        mField = "内容" & n
        Chunks = Fl \ ChunkSize
        Fragment = Fl Mod ChunkSize
        ReDim Chunk(Fragment)
        Get DataFile, , Chunk()
        recTemp.Fields(mField).AppendChunk Chunk()
        ReDim Chunk(ChunkSize)
        For ii = 1 To Chunks
            Get DataFile, , Chunk()
            recTemp.Fields(mField).AppendChunk Chunk()
        Next ii
        i = i - 1
        n = n + 1
    Loop
    recTemp.Update
    Close DataFile
    

解决方案 »

  1.   

    如果你的图片量非常大的话(比如一条记录可能有几M),这样一来你的数据库可能会无法承受这样的数据量,那么也有一个可以折中的办法
    就是根据数据库的关键字计算一个唯一的图片存放路径,举个例子,比如你的数据库中有一个ID关键字段,“A00101”,那么你可以根据这个字段进行分解,按A建立一个目录,然后在A的下面取A后3个数字001建立一个目录,把01作为文件名进行存放,这样一个ID就唯一的确定了一张图片的位置,这是我经常使用的一个办法,你认为如何