菜鸟问题,怎样在Access里存放图片,用VB存取。

bluemiles 2003-01-24 10:16:58
想在数据库里存放照片资料,不能用sql server,只能用access。
用vb做前台
怎么在vb里把照片显示出来?
怎么把照片用VB的程序存到数据库?

怎么办!
高手帮忙啊!!
...全文
44 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
bluemiles 2003-01-24
  • 打赏
  • 举报
回复
看来只好这样了
早知道我就用CB了
chenyu5188 2003-01-24
  • 打赏
  • 举报
回复
UP

同意楼上
fling_boy 2003-01-24
  • 打赏
  • 举报
回复
VB只能用临时文件了,别的好像不行。
还有一种就是把文件换成picuterbox,然后每个读取每个像素的值,然后保存,读取时反过来,不过好像也很麻烦.
bluemiles 2003-01-24
  • 打赏
  • 举报
回复
谢谢
但是一次处理几千张照片
如果用到临时文件是不是太慢了?

这些照片可能没有保存成文件形式
可能是临时扫描的或是抓拍的
fling_boy 2003-01-24
  • 打赏
  • 举报
回复
其中字段类型是二进制的,生成图片文件事用loadpicture("")就可以到picturebox了.
fling_boy 2003-01-24
  • 打赏
  • 举报
回复
Private Function DatabaseToFile(ByVal DataField As ADODB.Field, ByVal vSaveAs As String, ByVal vFileExpendName As String) As String
Dim fnum As Long, bytesleft As Long, bytes As Long
Dim lSumSize As Long, lNowSize As Long
Dim tmp() As Byte
On Error GoTo ErrHandleDatabaseToFile
If Trim(vSaveAs) = "" Then
DatabaseToFile = GetTempFileName(vFileExpendName)
Else
DatabaseToFile = Trim(vSaveAs)
End If

fnum = FreeFile
Open (DatabaseToFile) For Binary As fnum
bytesleft = DataField.ActualSize

lSumSize = CLng(bytesleft / 8192)

Do While bytesleft
bytes = bytesleft
If bytes > 8192 Then bytes = 8192
tmp = DataField.GetChunk(bytes)
Put #fnum, , tmp
bytesleft = bytesleft - bytes
lNowSize = lNowSize + 1
RaiseEvent TransmitData(lNowSize, lSumSize, False)
Loop
Close #fnum
Exit Function
ErrHandleDatabaseToFile:
DatabaseToFile = ""
Err.Clear
End Function

Private Function FileToDatabase(ByVal vDataField As ADODB.Field, ByVal vFileName As String)
Dim fnum As Long, bytesleft As Long, bytes As Long
Dim lSumSize As Long, lNowSize As Long
Dim tmp() As Byte
On Error GoTo ErrHandleFileToDatabase

fnum = FreeFile
Open vFileName For Binary As fnum
bytesleft = LOF(fnum)
lSumSize = CLng(bytesleft / 8192)
Do While bytesleft
bytes = bytesleft
If bytes > 8192 Then bytes = 8192
ReDim tmp(1 To bytes) As Byte
Get #fnum, , tmp
vDataField.AppendChunk tmp
bytesleft = bytesleft - bytes
lNowSize = lNowSize + 1
DoEvents
RaiseEvent TransmitData(lNowSize, lSumSize, True)
Loop

Close #fnum

Exit Function
ErrHandleFileToDatabase:
Err.Clear
End Function

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧