谢谢了,呵呵!
解决方案 »
- 请各位高手看看,如何实现避免随机选择重复的数据?
- 没有ascii码的键,不能用keypress事件截获,有别的办法吗?
- 菜鸟求助(资源打包,桌面生成快捷方式,注册组件不提示)
- vb+sql表的查询问题!在线等!
- VB编译成的.EXE,在关闭时,"0x01a302b2"指令引用的"0xa302b001"内存,该内存不能为"weitten"
- 一个VB程序的问题???
- 如何釋放FORM 1000
- 帮忙看看这段程序
- 怎样自动点网页中几个固定文字的链接
- 请问如何给.AVI文件加密,或让他运行若干次后自动删除?
- 怎么样用VB访问本地加密的ACCESS2000数据库?
- 请问谁知道API函数,常量 HH_CLOSE_ALL的值?在线等待
完整的代码如下:用Access,保存文件的字段应该用OLD对象,在表中显示为长二进制数据。
'将任何文件从数据库中下载到本地:
Public Function LoadFile(ByVal col As ADODB.Field, ByVal FileName As String) As Boolean '获得binary数据
On Error GoTo myerr:
Dim arrBytes() As Byte
Dim FreeFileNumber As Integer
lngsize = col.ActualSize
arrBytes = col.GetChunk(lngsize)
FreeFileNumber = FreeFile
Open FileName For Binary Access Write As #FreeFileNumber
Put #FreeFileNumber, , arrBytes
Close #FreeFileNumber
LoadFile = True
myerr:
If Err.Number <> 0 Then
LoadFile = False
Err.Clear
End If
End Function
'将文件从本地上传到数据库中
Public Function UpLoadFile(ByVal FileName, ByVal col As ADODB.Field) As Boolean
On Error GoTo myerr:
Dim arrBytes() As Byte
Dim FreeFileNumber As Integer
FreeFileNumber = FreeFile
Open FileName For Binary As #FreeFileNumber
n = LOF(FreeFileNumber)
ReDim arrBytes(1 To n) As Byte
Get #FreeFileNumber, , arrBytes
Close #FreeFileNumber
col.AppendChunk (arrBytes)
UpLoadFile = True
myerr:
If Err.Number <> 0 Then
UpLoadFile = False
Err.Clear
End If
End Function '图片也是一样可以采用这种方法,主要是要注意使用GetChunk和AppendChunk。