比较难解决,以前我有问过相同的问题,并去搜索和下载了一个例程,但是是用API函数来解决的,很麻烦。而且浏览速度慢。
这里提供另一种思路,供你参考:在数据库里存放图片的路径和文件名,在一个共享目录下存放所有图片资料。这样做速度很快,很多ASP网站也都采用这种方法。
这里提供另一种思路,供你参考:在数据库里存放图片的路径和文件名,在一个共享目录下存放所有图片资料。这样做速度很快,很多ASP网站也都采用这种方法。
解决方案 »
- vb导出到excel问题
- listview的finditem对搜索字符串长度的限制是多少??
- 在VB中如何画拓扑图?
- ≡≡≡≡VB6.0编写WinSock的时候遇到senddata的问题,希望高手门看≡≡≡看,
- vb中如使用加密狗?
- 出现vba6.0.dll过期,vb不能运行
- 一个数据库查找问题(很菜的问题)
- 我想用vb做数据库开发,请问有没有哪位能介绍一本好书?
- 我的TIME控件不好使拉!!!!我很俗!!但我会给分!!!
- .OBJ是什么文件?
- 请问各位大侠怎样通过vb将图片存入access数据库里?
- 做Flash播放器的朋友/要用到Swflash.ocx控件的朋友请进,PowerSwflash控件不会让你失望!
2、如果图片是Picture上的或其他的,首先保存成文件,如:
savepicture picture1.image,"c:\yourtmp\tmp.bmp"
3、用二进制方式打开图片文件,将字节数组赋给纪录集(数据库的OLE字段)
在你要存储的字段里把路径写好,这样做的一件不好处是换了机子后图片不能显示。
二:在ACCESS中存
你要把存储的类型设为:ALO...格式的,这样他才可以存。
试试吧。
Private Sub SaveImgToDB()
Dim bytBLOB() As Byte '字节数组
Dim intNum As Long '文件号
'保存记录
If boAddNewStamp Then
With rsStamp
If (ImgPath <> "") Then
'打开图片文件
intNum = FreeFile
Open ImgPath For Binary As #intNum
ReDim bytBLOB(FileLen(ImgPath)) '因为FileLen 函数的返回值单位是字节
'读数据并关闭文件
Get #intNum, , bytBLOB
Close #intNum
'存储长二进制数据
.Fields("邮票图像").AppendChunk bytBLOB
End If
' .Update
End With
ElseIf boModifyRecord Then
With rsStampDetail
If (ImgPath <> "") Then
'打开图片文件
intNum = FreeFile
Open ImgPath For Binary As #intNum
ReDim bytBLOB(FileLen(ImgPath)) '因为FileLen 函数的返回值单位是字节
'读数据并关闭文件
Get #intNum, , bytBLOB
Close #intNum
'存储长二进制数据
.Fields("邮票图像").AppendChunk bytBLOB
End If
End With
End If
End Sub代码只是一个自定义过程,其中一些未声明的变量是在其它地方定义的全局变量。对此无需理会,只看与图像存取有关部分即可。用的是ADO,但不是用ADODC控件,不过道理是一样的。