VFP将图片或其他文件保存到SQL Server的Text类型字段或者Access的备注字段中,并可以还原或显示。

来源:互联网 发布:在window下安装ubuntu 编辑:程序博客网 时间:2024/05/22 02:01

*-- vfp8.0、9.0

*--保存
1、将图片文件用 Filetostr()转成字符A。
2、再用
Strconv("字符A",13)将字符A转成base64编码数据的字符B。
3、将字符B保存到SQL Server的Text类型字段或者Access的备注字段。

*--还原或显示
1、用 Strconv("字符B",14)将base64编码数据还原成未编码的数据字符A。
2、用
Strtofile()转成图片文件或把字符A覆给Image控件的PictureVal属性来显示

*--图片例子
* 保存
lcTextString=Strconv(Filetostr("路径\图片名A"),13)&& base64编码数据,可以将此数据(lcTextString)保存

* 还原
=Strtofile(Strconv(lcTextString或表字段,14),"路径\图片名B")&& 将字符还原base64编码前数据,还原成文件
Thisform.Image1.Picture="路径\图片名B"&& 将还原后的图片覆给Image控件的的Picture属性
* 或
Thisform.Image1.PictureVal=Strconv(lcTextString,14)&& 将字符还原base64编码前数据后直接覆给Image控件的PictureVal属性(VFP9.0)

*--注:
以上方法除了可以对图片文件操作外,对其他文件如Word,文本,Exe,音频,视频等文件均可,但文件不要过大,否则速度慢。
*------------------
此方法也适用于DBF表的Memo字段(推荐用二进制备注字段,普通备注字段,在代码页有变化的时候会自动转变的,会破坏字段内容,二进制备注字段就不会。
如果直接用dbf二进制备注字段保存任何文件内容,那么可以直接用
Filetostr/Strtofile函数,不需要转成base64(SQL或Access需要转成base64),因为vfp没unicode功能,所有二进制文件功能都可用字符串函数来处理。)。
如果是DBF表的Memo字段,就直接用下面备注字段专用的命令,而且还可以保存和还原大文件(注:不管是什么数据库,不建议将大量大文件保存至表中),用
Filetostr/Strtofile函数对文件大小是有限制的。
* 保存:
Append Memo Memo字段名From文件名Overwrite

* 还原:
Copy Memo Memo字段名To生成文件名
*------------------
如果是VFP9.0建议改为使用
Blob 类型字段(对应SQL Server的Image或Text类型),它可以存储任何类型的数据。这样不需要使用 ActiveX,直接使用 vfp 自带的Image控件的PictureVal属性即可显示 bmp/gif/png/jpg/tif 等格式的图片。
Blob 类型字段要比上面方法好,因为前一种方法有一个缺点就是转成Base64后,数据变大了,不利于网络负载。
至于Blob类型字段的文件存储和还原
*存储
Replace Blob字段With Filetostr("D:\文件全名")

*还原
=Strtofile(Blob字段,"d:\文件全名")

使用通用字段是已过时的技术,而且存在很多的弊病,例如:放入通用字段的图像没有绝对可靠的方法重新再保存为磁盘文件。

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 看不下去书怎么办 职高读不下去怎么办 小孩不主动说话怎么办 不喜欢自己的儿子怎么办 生了儿子不喜欢怎么办 孩子不愿意去幼儿园怎么办 内向妈妈带孩子怎么办 从小就不爱学习怎么办 孩子老爱玩不爱学习怎么办? 孩子不爱做题怎么办 看书静不下心怎么办 孩子不自觉学习怎么办 不自觉的孩子怎么办 不学习的孩子怎么办 电脑不受老师控制怎么办 儿子不尊重老师怎么办 小孩不喜欢吃蔬菜怎么办 小孩不愿练钢琴怎么办 孩子不喜欢幼儿园老师怎么办 孩子不主动思考怎么办 我初一不想读书怎么办 初中孩子不爱学习怎么办 初一就不想读书怎么办 孩子懒得写作业怎么办 初中学生讨厌学习怎么办? 小学不写作业怎么办 幼儿园小朋友不愿意上学怎么办 幼儿园孩子不愿意上学怎么办 宝宝不愿意上幼儿园怎么办 孩子不爱上幼儿园怎么办 宝宝不爱上幼儿园怎么办 宝宝不爱去幼儿园怎么办 幼儿园宝宝不爱写字怎么办 小孩贪玩不爱学习怎么办 老师对幼儿不好怎么办 小孩不愿写作业怎么办 小孩怕老师厌学怎么办 幼儿园怕老师厌学怎么办 孩子很怕老师怎么办 孩子怕外教老师怎么办 家长打老师老师怎么办