VB6.0中,如何将照片存储到ACCESS数据中,求代码?以及方法?
VB6.0中,如何将照片存储到ACCESS数据中,求代码?以及方法?




Function writedb_bin(Filename As String, rst As ADODB.Recordset, Fieldname As String) As Boolean '以二进制模式读取文件Filename并将读取数据以二进制模式写入到数据库记录集rst的二进制字段Fieldname中 Dim b() As Byte, i As Long, l As Long, f As Long, m As Long On Error Resume Next '设置错误处理模式 Err.Clear writedb_bin = False If Dir(Filename) = "" Or rst.State = 0 Then Exit Function '如果要写入的文件不存在或记录集是关闭状态则返回false l = FileLen(Filename) '获取文件长度 i = l \ 16384 '二进制文件缓冲长度按16384字节读取,得到读取次数 m = l Mod 16384 '文件缓冲读取次数读完后剩余字节数(文件长度不一定是16384的整数倍) f = FreeFile '获取一个空余的文件号 ReDim b(16383) '设置文件读入缓冲区 Open Cmdg.Filename For Binary Access Read As f '按二进制模式读入文件并写入数据库指定字段中 While i > 0 Get #f, , b rst.Fields(Fieldname).AppendChunk b '按16384字节写入数据库指定字段 DoEvents i = i - 1 Wend If m > 0 Then ReDim b(m - 1) Get #f, , b rst.Fields(Fieldname).AppendChunk b '将余下字节写入数据库指定字段 End If Close #f If Err.Number = 0 Then writedb_bin = True '如果错误代码为0则返回写入成功标志 End Function
[此贴子已经被作者于2020-5-29 16:56编辑过]