Office中国论坛/Access中国论坛
标题: [原创]如何用ACCESS存储大量图片 [打印本页]
作者: 情比金坚 时间: 2006-4-26 09:17
标题: [原创]如何用ACCESS存储大量图片
在论坛上经常讨论到用access存储图片时体积会暴涨,其实用流技术可以克服这个缺点,就是将图片转换为二进制数据存储,用的时候再释放出来。这样图片是完全保存在数据库字段当中的,可以随数据库的备份而备份,随数据库的加密而加密,前两天一点通管理员要我出一个示例:
其实我并不太会写代码,只是我很信任盖茨GG,我相信凡是我想到做不到的,盖茨GG都已经想到并且做好了,所以access不会有一个这样明显的缺陷而没有解决办法
本例须引用用了ado2.5 以上,相关帮助看:
Stream 对象
表示二进制数据或文本的流。
[此贴子已经被作者于2006-5-27 14:43:31编辑过]
作者: hua620530 时间: 2006-4-26 09:55
是吗?看一看。
作者: pho 时间: 2006-4-26 15:50
看看
作者: andymark 时间: 2006-4-26 15:50
看看和所知的有什么不同
作者: cn_benny 时间: 2006-4-26 16:20
确实是个大问题,看看
作者: cn_benny 时间: 2006-4-26 16:21
据说要发三帖才能下啊
作者: cn_benny 时间: 2006-4-26 16:21
还差一次
作者: youchy652 时间: 2006-4-26 16:35
kankan
作者: 宿命的风 时间: 2006-4-26 16:37
以下是引用andymark在2006-4-26 7:50:00的发言:
看看和所知的有什么不同
作者: 真主 时间: 2006-4-26 17:01
好东西,看看
作者: 无忧 时间: 2006-4-26 17:25
look
作者: xjliyuehua 时间: 2006-4-26 17:38
[em02][em02]
作者: 一点通 时间: 2006-4-26 18:37
有两处错误,望情版主修改一下
1.添加时出现如下图错误
[attach]17402[/attach]
2.删除时不能及时刷新,出现下图的错误
[attach]17403[/attach]
作者: zyz218 时间: 2006-4-26 18:47
以下是引用真主在2006-4-26 9:01:00的发言:
好东西,看看
作者: hzq56 时间: 2006-4-26 18:47
kkkkkkkkkkkkkkkkkkkkkkk
作者: zyz218 时间: 2006-4-26 18:50
那是情MM的车吧???
作者: caccaccac 时间: 2006-4-26 19:00
正好要问,看一看。
作者: LucasLynn 时间: 2006-4-26 19:29
很有代表性的应用。
作者: 羽佳 时间: 2006-4-26 20:09
要的就是这个啊~谢谢版主~
作者: 情比金坚 时间: 2006-4-26 20:10
以下是引用一点通在2006-4-26 10:37:00的发言:
有两处错误,望情版主修改一下
1.添加时出现如下图错误
2.删除时不能及时刷新,出现下图的错误
回点版主:1、打开对话框函数在2000以后版本都支持了,要不就要用李啸林版主的函数了,在《专家200问》第123问里有示例
2、已经作了修改,谢谢你的提示
本例须引用用了ado2.5 以上,相关帮助看:
Stream 对象
表示二进制数据或文本的流。
作者: 5988143 时间: 2006-4-26 20:28
謝謝分享!
作者: mrl 时间: 2006-4-26 21:14
謝謝分享!
作者: zxwgc 时间: 2006-4-26 21:18
看看学习
作者: laiguiyou 时间: 2006-4-26 21:22
see
作者: 轻风 时间: 2006-4-26 22:05
好东东啊
作者: walker-dong 时间: 2006-4-26 23:59
辛苦,辛苦,好久不见,支持先!
作者: hjy611 时间: 2006-4-27 01:06
我先看看着好东西。
作者: wu8313 时间: 2006-4-27 01:52
谢谢。
是从acc2000以上版本转化为 acc2000版本的吧?
怎么在 插入图片的时候,出现 如下问题 :[attach]17415[/attach]
[此贴子已经被作者于2006-4-26 18:00:07编辑过]
作者: fan0217 时间: 2006-4-27 02:50
期待情比金坚的作品好多天了
作者: fan0217 时间: 2006-4-27 02:52
以下是引用wu8313在2006-4-26 17:52:00的发言:
谢谢。
是从acc2000以上版本转化为 acc2000版本的吧?
怎么在 插入图片的时候,出现 如下问题 :
需要引用Office 对象
作者: okmijn 时间: 2006-4-27 03:47
值得学习
作者: 付谦 时间: 2006-4-27 04:20
OK
作者: ok123.1 时间: 2006-4-27 04:50
看看好东西
作者: glw 时间: 2006-4-27 04:52
look
作者: wuaza 时间: 2006-4-27 05:10
谢谢分享。
作者: drerry 时间: 2006-4-27 06:58
hfhgjgjgkhkjk;lk';l';l
'jhjuytuhiuoi
作者: pxsj 时间: 2006-4-27 07:05
look
作者: swo 时间: 2006-4-27 07:21
这东西还没有 见过,看看
作者: dhwx 时间: 2006-4-27 07:55
看一看
作者: XWQ2000 时间: 2006-4-27 16:30
kaka
作者: qdv0329 时间: 2006-4-27 17:37
这有什么难的,只是做的好与不好的了.各人的制作不同罢了.
作者: qdv0329 时间: 2006-4-27 17:41
情比金坚,鄙视你,你坚什么坚,你比粪坑里的石头一样坚(贱).设置那么多的限制,什吗东西....................
作者: 一点通 时间: 2006-4-27 18:12
42楼网友,请注意你的发言,不要用不良语言伤害别人,共同创造一个良好的学习气氛,(贴子已屏蔽)
[此贴子已经被作者于2006-4-27 10:16:11编辑过]
作者: zhangliya 时间: 2006-4-27 18:21
看看
作者: utngrihii 时间: 2006-4-27 18:47
支持,先看一下
作者: konggs 时间: 2006-4-27 18:56
看看。
作者: james5555 时间: 2006-4-27 19:19
111111111111111111111111
作者: mwxlmxy 时间: 2006-4-27 19:33
谢谢
作者: wu8313 时间: 2006-4-28 02:42
以下是引用fan0217在2006-4-26 18:52:00的发言:
需要引用Office 对象
[attach]17442[/attach]
问题还是存在,添加图片后强制中断,错误图片截图在 28 楼
[此贴子已经被作者于2006-4-27 18:44:31编辑过]
作者: liuxingyuabc 时间: 2006-4-28 02:59
好东西,一定要看。
作者: 静儿 时间: 2006-4-28 22:05
kk
作者: 鼻血剑 时间: 2006-4-29 00:10
想看
作者: wujixin 时间: 2006-4-29 02:30
看看
作者: icbc285 时间: 2006-4-29 07:09
顶下,看看,自己也做过这样的东西。
作者: preen 时间: 2006-4-29 08:27
不知道是否能看得懂
作者: wzh 时间: 2006-4-29 17:22
好东西,看看
作者: 旧事如天远 时间: 2006-4-29 19:23
谢谢你,这是一个很实用的技巧!
作者: zxh 时间: 2006-4-29 19:26
very good
作者: h333 时间: 2006-4-29 19:45
看一下
作者: videochat 时间: 2006-4-29 21:10
看看
作者: tmac008 时间: 2006-4-29 22:20
kankan
作者: wanghua642 时间: 2006-4-29 22:44
建议一下,可以用连接的,然后用模块可以直接将图片导入到窗体或报表!!
作者: wuaza 时间: 2006-4-30 00:03
关于ADODB.Stream对象,帮助中好像找不到,谁能提供一份介绍?
作者: sgrshh29 时间: 2006-4-30 02:46
以下是引用wuaza在2006-4-29 16:03:00的发言:
关于ADODB.Stream对象,帮助中好像找不到,谁能提供一份介绍?
AdodbStream的方法和属性浅述 (转)
Cancel 方法
使用方法:Object.Cancel
说明:取消执行挂起的异步 Execute 或 Open 方法的调用。
Close 方法
使用方法:Object.Close
说明:关闭对象
CopyTo 方法
使用方法: Object.CopyTo(destStream,[CharNumber])
说明:将对象中的数据复制,destStream指要复制的对像,CharNumber为可选参数,指要复制的字节数,不选为全部复制。
Flush 方法
使用方法:Object.Flush
说明:将缓存中的数据强制输出
LoadFromFile 方法
使用方法: Object.LoadFromFile(FileName)
说明:将FileName指定的文件装入对象中,参数FileName为指定的文件名。
Open 方法
使用方法:Object.Open([Source],[Modem],[Options],[UserName],[Password])
说明:打开对象
参数说明:Sourece 对像源,可不指定
Mode 指定打开模式,可不指定,可选参数如下:
adModeRead=1
adModeReadWrite=3
adModeRecursive=4194304
adModeShareDenyNone=16
adModeShareDenyRead=4
adModeShareDenyWrite=8
adModeShareExclusive =12
adModeUnknown=0
adModeWrite=2
Options 指定打开的选项,可不指定,可选参数如下:
adOpenStreamAsync=1
adOpenStreamFromRecord=4
adOpenStreamUnspecified=-1
UserName 指定用户名,可不指定。
Password 指定用户名的密码
Read 方法
使用方法:Object.Read(Numbytes)
说明:读取指定长度的二进制内容。
参数说明:Numbytes指定的要读取的字节数,不指定则读取全部。
ReadText 方法
使用方法:Object.ReadText(NumChars)
说明:读取指定长度的文本
参数说明:NumChars指定的要读取的字符数,不指定则读取全部。
SaveToFile 方法
使用方法:Object.SaveToFile(FileName,[Options])
说明:将对像的内容写到FileName指定的文件中
参数说明:FileName指定的文件
Options 存取的选项,可不指定,可选参数如下:
adSaveCreateNotExist=1
adSaveCreateOverWrite=2
SetEOS 方法
使用方法:Object.setEOS()
说明:将数据流设置为空
SkipLine 方法
使用方法:Object.SkipLine(n)
说明:跳过n行
Write 方法
使用方法:Object.Write(Buffer)
说明:将指定的数据装入对像中。
参数说明:Buffer 为指定的要写入的内容。
WriteText 方法
使用方法:Object.WriteText(Data,[Options])
说明:将指定的文本数据装入对像中。
参数说明:Data 为指定的要写入的内容。
Options 写入的选项,可不指定,可选参数如下:
adWriteChar=0
adWriteLine=1
有下列属性:
Charset:字符集
EOS 返回对像内数据是否为空。
LineSeparator 指定换行格式,可选参数有
adCR=13
adCRLF=-1
adLF=10
Mode 指定或返回模式。
Position 指定或返加对像内数据的当前指针。
Size 返回对像内数据的大小。
State 返加对像状态是否打开。
Type 指定或返回的数据类型,可选参数为:
adTypeBinary=1
adTypeText=2
作者: zhouzd 时间: 2006-4-30 05:35
Have a look.
作者: layaman_999 时间: 2006-4-30 20:47
看看
作者: hi-wzj 时间: 2006-4-30 23:21
henhao
作者: datouamenghan 时间: 2006-5-1 02:24
我也想看看[em02]
作者: wdq 时间: 2006-5-1 02:27
看一下,谢谢。
作者: wtcj 时间: 2006-5-1 03:25
看看
作者: wtcj 时间: 2006-5-1 03:26
再回复,想看看
作者: wtcj 时间: 2006-5-1 03:26
像彩旦
作者: wtcj 时间: 2006-5-1 03:27
怎样才能看到????
作者: djt 时间: 2006-5-1 04:57
学学流
作者: 蓝天 时间: 2006-5-1 05:33
1
作者: 蓝天 时间: 2006-5-1 05:33
2
作者: 蓝天 时间: 2006-5-1 05:34
21
作者: 7777777 时间: 2006-5-1 06:03
看看先
作者: Grant 时间: 2006-5-1 11:43
谢谢分享....
作者: wang1950317 时间: 2006-5-1 17:20
学习!
作者: cicada 时间: 2006-5-1 21:49
没有说的果然是好东西啊!
作者: jiahe56 时间: 2006-5-4 00:55
请教
作者: jiahe56 时间: 2006-5-4 01:38
还是不懂,愿闻其详!
作者: lxp100 时间: 2006-5-4 01:38
11
作者: KAKAJP 时间: 2006-5-4 04:52
好东西,看看
作者: hnyyly 时间: 2006-5-4 05:33
好东西,支持一下。
作者: wArwIck 时间: 2006-5-4 07:58
正有需要,看看,谢谢
作者: binyun530 时间: 2006-5-5 05:35
erererer
作者: teamark 时间: 2006-5-5 16:53
have a look
作者: K仔 时间: 2006-5-5 17:14
以下是引用cn_benny在2006-4-26 8:21:00的发言:
据说要发三帖才能下啊
新手是这样的
作者: kofhyq2005 时间: 2006-5-5 17:56
是吗,我好好看看
作者: 天地一沙鸥 时间: 2006-5-6 23:36
曾经想过没想到还真有这种可能,看看
作者: 天地一沙鸥 时间: 2006-5-6 23:38
再求
作者: 天地一沙鸥 时间: 2006-5-6 23:39
再求
作者: sxgaobo 时间: 2006-5-7 00:41
学习!
作者: sxgaobo 时间: 2006-5-7 03:06
这样做,当图片很多时,会不会影响运行的速度啊?有极限吗?
作者: 情比金坚 时间: 2006-5-7 05:09
实际应用时,我并不马上将打开的图片kill掉,而是放在一个临时文件价里,用文件索引作名字,方便下回打开(有点类似于IE的做法),关闭系统时再kill掉,不过要设置好错误陷阱才行。测试过上千张图片,极限就不知道了
作者: df 时间: 2006-5-7 05:23
看看
作者: fxcxg 时间: 2006-5-7 19:08
看看
作者: kokokoko888 时间: 2006-5-8 18:03
kan kan
欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) |
Powered by Discuz! X3.3 |