public const BLOCK_SIZE =10000 Public Function ReadPic(ByVal fldPic As adodb.Field, picShow As PictureBox) As Boolean Dim strTemp As String Dim strFree As String Dim lngFldSize As Long Dim bytFile() As Byte Dim lngBlocks As Long Dim lngLeft As Long Dim lngNum As Long Dim BLOCK_SIZE As Integer BLOCK_SIZE = 10000<--这样行么On Error GoTo ErrHandler strTemp = App.Path & "\temppic.tmp" strFree = FreeFile Open strTemp For Binary Access Write As strFree lngFldSize = fldPic.ActualSize If lngFldSize = 0 Then Exit Function lngBlocks = lngFldSize \ BLOCK_SIZE lngLeft = lngFldSize Mod BLOCK_SIZE For lngNum = 1 To lngBlocks bytFile() = fldPic.GetChunk(BLOCK_SIZE) Put strFree, , bytFile() Next lngNum
If lngLeft > 0 Then bytFile() = fldPic.GetChunk(lngLeft) Put strFree, , bytFile() End If Close strFree picShow.Picture = LoadPicture(strTemp)<---到这里就跳到Err了 ReadPic = True Exit Function ErrHandler: MsgBox "ERR" ReadPic = False End Function Dim strFree As String Dim lngFileLen As Long Dim bytFile() As Byte Dim lngBlocks As Long Dim lngLeft As Long Dim lngNum As Long======= mvarphoto是图片的路径 If mvarPhoto <> "" Then strFree = FreeFile Open mvarPhoto For Binary Access Read As strFree lngFileLen = LOF(strFree) If lngFileLen > 0 Then lngBlocks = lngFileLen / BLOCK_SIZE lngLeft = lngFileLen Mod BLOCK_SIZE ReDim bytFile(BLOCK_SIZE) For lngNum = 1 To lngBlocks Get strFree, , bytFile() recFind("photo").AppendChunk bytFile() Next lngNum If lngLeft > 0 Then ReDim bytFile(lngLeft) Get strFree, , bytFile() recFind("photo").AppendChunk bytFile() End If End If End If
Public Function ReadPic(ByVal fldPic As adodb.Field, picShow As PictureBox) As Boolean
Dim strTemp As String
Dim strFree As String
Dim lngFldSize As Long
Dim bytFile() As Byte
Dim lngBlocks As Long
Dim lngLeft As Long
Dim lngNum As Long Dim BLOCK_SIZE As Integer
BLOCK_SIZE = 10000<--这样行么On Error GoTo ErrHandler
strTemp = App.Path & "\temppic.tmp"
strFree = FreeFile
Open strTemp For Binary Access Write As strFree
lngFldSize = fldPic.ActualSize
If lngFldSize = 0 Then Exit Function
lngBlocks = lngFldSize \ BLOCK_SIZE
lngLeft = lngFldSize Mod BLOCK_SIZE
For lngNum = 1 To lngBlocks
bytFile() = fldPic.GetChunk(BLOCK_SIZE)
Put strFree, , bytFile()
Next lngNum
If lngLeft > 0 Then
bytFile() = fldPic.GetChunk(lngLeft)
Put strFree, , bytFile()
End If
Close strFree
picShow.Picture = LoadPicture(strTemp)<---到这里就跳到Err了
ReadPic = True
Exit Function
ErrHandler:
MsgBox "ERR"
ReadPic = False
End Function
Dim strFree As String
Dim lngFileLen As Long
Dim bytFile() As Byte
Dim lngBlocks As Long
Dim lngLeft As Long
Dim lngNum As Long=======
mvarphoto是图片的路径
If mvarPhoto <> "" Then
strFree = FreeFile
Open mvarPhoto For Binary Access Read As strFree
lngFileLen = LOF(strFree)
If lngFileLen > 0 Then
lngBlocks = lngFileLen / BLOCK_SIZE
lngLeft = lngFileLen Mod BLOCK_SIZE
ReDim bytFile(BLOCK_SIZE)
For lngNum = 1 To lngBlocks
Get strFree, , bytFile()
recFind("photo").AppendChunk bytFile()
Next lngNum
If lngLeft > 0 Then
ReDim bytFile(lngLeft)
Get strFree, , bytFile()
recFind("photo").AppendChunk bytFile()
End If
End If
End If