'存储照片到数据库
Public Sub SavePictureToAdodc(rs As ADODB.Recordset, ByVal FileName As String)
On Error GoTo ErrMsg
Dim Length As Long, f As Integer
Length = FileLen(FileName)
ReDim bArray(Length + 12) As Byte, bArray2(Length) As Byte
bArray(0) = &H6C: bArray(1) = &H74
RtlMoveMemory bArray(4), Length, 4
f = FreeFile
Open FileName For Binary As #f
Get #f, , bArray2
Close #f
RtlMoveMemory bArray(8), bArray2(0), Length
rs("照片").AppendChunk bArray
Exit Sub
ErrMsg:
MsgBox "存储照片到数据库时出现错误." & vbCrLf & Err.Description, vbExclamation + vbOKOnly, "提示"
End Sub
'读取OLE字段到临时照片文件
Public Function ReadDB(col As ADODB.Field, ByRef imgFile As String) As Boolean
On Error GoTo ErrRead
Dim mstream As New ADODB.Stream
ReadDB = False
If col.ActualSize < 200 Then Exit Function
mstream.Type = adTypeBinary
mstream.Open
mstream.Write col.Value
mstream.SaveToFile imgFile, adSaveCreateOverWrite
ReadDB = True
Exit Function
ErrRead:
MsgBox "设置临时照片文件时出现错误:" & Err.Description, vbInformation, "提示"
ReadDB = False
End Function