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