会员登录 用户名: 密码: 登录 新会员注册 [找回密码]
当前位置:编程论坛 >> 数据库技术专区 >> SQL Server 论坛 >> sql2000中的Binary字段存取问题 Re:这里引用陆卫康老师的文章介绍图片的导入与... - SQL Server 论坛
首页
    全新UCanCode E-Form++ 可视化图形源码组件库2009年第2版发布!(软博会金奖,全球上千家客户构建企业级应用首选!)
E-Form++企业版本V13.50发布: -- 全球领先,并提供含100%VC++源代码,免费源代码评估光盘发送中!
BMPN业务流程与工作流VC++源码 | 仪器仪表VC++源码 | 电子表单VC++源码 | 工控与仿真VC++源码 | CAD与GIS源码 | 电力系统VC++源码 | 煤炭与军工行业VC++源码 | 城市管理行业VC++源码 | 图形建模VC++源码 | 逻辑电路图VC++源码 | 标签\票据\条码打印VC++源码 | 建筑制图VC++源码等,提供全部100%高性能VC++源代码,为您节省数十个月开发时间

正式版本提供全部超过50万行高效VC++源代码, 全功能评估版本免费提供!

  发表一个新主题  发表一个新投票  回复主题 您是本帖的第 547 个阅读者浏览上一篇主题  刷新本主题   平板显示贴子 浏览下一篇主题
 * 贴子主题:sql2000中的Binary字段存取问题 悬赏分50 [提问中] 报告本帖给版主  显示可打印的版本  把本贴打包邮递  把本贴加入论坛收藏夹  发送本页面给朋友  把本贴加入IE收藏夹 
 独孤剑圣 帅哥哟,离线,有人找我吗?
  
  
  等 级:初级剑客
  积 分:16286
  专家分:10549
  提问帖:1/1
  回答帖:755
  总帖数:838
  经验值:967
  注 册:2007-11-25
给独孤剑圣发送一个短消息 把独孤剑圣加入好友 查看独孤剑圣的个人资料 搜索独孤剑圣在SQL Server 论坛的所有贴子 引用回复这个贴子 回复这个贴子

发贴心情 

这里引用陆卫康老师的文章介绍图片的导入与还原问题在 VFP 6.0 中使用二进制备注字段存放文件并还原显示     VFP 6.0 中用通用字段不能较好显示 JPG 格式等有关图片文件及 WORD 文档和 EXCEL 文件。经多次试验,本人找到一种较好的方法,并能较好实现显示有关文件。实现原理:在 VFP 数据表的二进制备注字段或 SQL SERVER 数据库数据表的 Image 字段中存放文件的二进制数据,在需要显示文件时,将该二进制备注字段的内容转换成原格式文件并进行显示。示例:在 VFP 数据表建立一二进制备注字段 或 SQL SERVER 数据库的表上建立一 Image 字段,假设该字段名为: my_image一、由文件导入字段(FtoM):原理: 在备注字段的前128个字符内存放文件名(包括扩展名),从第129个字符起存放文件内容使用函数: FILETOSTR()Local my_file,my_text,my_memomy_file=UPPER(GETFILE())If EMPTY(my_file) RetuEndifWait WIND "  正在导入文件,请稍候...   " NOWAITmy_memo=PADR(JUSTFNAME(my_file),128," ")+FILETOSTR(my_file)Repl my_image WITH my_memoWait CLEARMessagebox(CHR(13)+"文件导入成功,导入的文件为:       "+CHR(13)+CHR(13)+my_file,64,"文件导入成功") 二、由字段内容还原为文件(MtoF):原理:取出文件名,并将从第129个字符起的文件内容还原成原格式文件使用函数: STRTOFILE()Local my_memoIf LEN(my_image) <= 128 OR ISNULL(my_image) OR EMPTY(my_image) Messagebox("该记录内无文件内容!        ",64,"信息") RetuEndifmy_file=ALLT(LEFT(my_image,128))my_text=JUSTEXT(ALLT(LEFT(my_image,128)))my_file=PUTFILE("另存为",my_file,my_text)If EMPTY(my_file) RetuEndifWait WIND "  正在还原文件,请稍候...   " NOWAIT=STRTOFILE(SUBST(my_image,129),my_file,.F.)Wait CLEARMessagebox(CHR(13)+"文件还原成功,存放位置:       "+CHR(13)+CHR(13)+my_file,64,"还原文件成功")三、常见的几种格式文件显示。假设被还原的文件名存为变量 my_file(一)、BMP 、 JPG 、GIF 文件方法1:表单中增加 Image 控件 Image1显示控件:ImageIf !empty(my_file) or !isnull(my_file) Thisform.Image1.picture=my_file Thisform.Image1.visible=.T.Else Thisform.Image1.picture="" Thisform.Image1.visible=.F.Endif方法2:在浏览器中显示使用函数: STRTOFILE()使用控件: HyperlinkLocal htm_name,my_html,my_titlehtm_name=subst(my_file,1,at(".",my_file)-1)+".htm"my_title="图  片  资  料"my_html=my_html+"<html>"+chr(13)+"<head>"If file(my_file) my_pic=strtran(my_file,"\","/") my_html=my_html+chr(13)+"<p align="center"><img border="0" src="file:///"+my_file;  +"  align="middle">
"Endifmy_html=my_html+chr(13)+"</body>"+chr(13)+"</html>"=strtofile(my_html,htm_name,.F.)Release my_htmlLocal lcURLlcURL=ALLTRIM(htm_name)If NOT LOWER(LEFT(lcURL,5))=="http:" AND NOT LOWER(LEFT(lcURL,5))=="file:" AND ;  (LOWER(LEFT(lcURL,4))=="www." OR ;  INLIST(LOWER(RIGHT(lcURL,4)),".com",".gov",".net") OR ;  (NOT SUBSTR(lcURL,2,1)==":" AND NOT LEFT(lcURL,2)=="\\")) lcURL="http://";+lcURLEndifIf SUBSTR(PADR(lcURL,5),5,1)==":" lcURL=STRTRAN(STRTRAN(lcURl,"\","/"),"///","//")Else lcURL="file://"+STRTRAN(STRTRAN(STRTRAN(lcURL,"\","/"),"///","//"),"//","/")EndifThisform.Hyperlink1.navigateto(lcURL)   &&表单中加VFP超级链接类 Hyperlink(二)、DOC 、 RTF 、TXT 文件方法1:在 WORD 中显示** 建立 Word.applicationoWord=CREATEOBJECT("Word.application")oDoc=oWord.DocumentsoDoc.Open(my_file)oWord.visible=.T.方法2:在 浏览器中显示使用控件: HyperlinkLocal lcURLlcURL=ALLTRIM(my_file)If NOT LOWER(LEFT(lcURL,5))=="http:" AND NOT LOWER(LEFT(lcURL,5))=="file:" AND ;  (LOWER(LEFT(lcURL,4))=="www." OR ;  INLIST(LOWER(RIGHT(lcURL,4)),".com",".gov",".net") OR ;  (NOT SUBSTR(lcURL,2,1)==":" AND NOT LEFT(lcURL,2)=="\\")) lcURL="http://";+lcURLEndifIf SUBSTR(PADR(lcURL,5),5,1)==":" lcURL=STRTRAN(STRTRAN(lcURl,"\","/"),"///","//")Else lcURL="file://"+STRTRAN(STRTRAN(STRTRAN(lcURL,"\","/"),"///","//"),"//","/")EndifThisform.Hyperlink1.navigateto(lcURL)   &&表单中加VFP超级链接类 Hyperlink(三)、XLS 文件方法1:在 EXCEL 中显示OleApp=CREATEOBJECT("Excel.Application") && 打开EXCEL,产生OLE对象OleApp.Application.Caption="资料"        && 指定标题栏名称OleApp.Application.WorkBooks.Open(my_file) && 打开EXCEL工作簿OleApp.Application.Visible=.T.           && 置EXCEL可见方法2:在 浏览器中显示使用控件: HyperlinkLocal lcURLlcURL=ALLTRIM(my_file)If NOT LOWER(LEFT(lcURL,5))=="http:" AND NOT LOWER(LEFT(lcURL,5))=="file:" AND ;  (LOWER(LEFT(lcURL,4))=="www." OR ;  INLIST(LOWER(RIGHT(lcURL,4)),".com",".gov",".net") OR ;  (NOT SUBSTR(lcURL,2,1)==":" AND NOT LEFT(lcURL,2)=="\\")) lcURL="http://";+lcURLEndifIf SUBSTR(PADR(lcURL,5),5,1)==":" lcURL=STRTRAN(STRTRAN(lcURl,"\","/"),"///","//")Else lcURL="file://"+STRTRAN(STRTRAN(STRTRAN(lcURL,"\","/"),"///","//"),"//","/")EndifThisform.Hyperlink1.navigateto(lcURL)   &&表单中加VFP超级链接类 Hyperlink(四)、HTM 文件在 浏览器中显示使用控件: HyperlinklcURL=ALLTRIM(my_file)If NOT LOWER(LEFT(lcURL,5))=="http:" AND NOT LOWER(LEFT(lcURL,5))=="file:" AND ;  (LOWER(LEFT(lcURL,4))=="www." OR ;  INLIST(LOWER(RIGHT(lcURL,4)),".com",".gov",".net") OR ;  (NOT SUBSTR(lcURL,2,1)==":" AND NOT LEFT(lcURL,2)=="\\")) lcURL="http://";+lcURLEndifIf SUBSTR(PADR(lcURL,5),5,1)==":" lcURL=STRTRAN(STRTRAN(lcURl,"\","/"),"///","//")Else lcURL="file://"+STRTRAN(STRTRAN(STRTRAN(lcURL,"\","/"),"///","//"),"//","/")EndifThisform.Hyperlink1.navigateto(lcURL)   &&表单中加VFP超级链接类 Hyperlink用上述方法,我成功解决了收发文、档案管理系统中全文的显示和存储。当然,在 VFP 中也可以用 VFP 的控件类 _webbrowser4 进行显示,缺点是打印等有关功能实现较差。

善与恶,只在一念之间~~~~~

发帖:2009-7-28 5:34:00

本主题贴数4,分页:[返回帖子列表] [上一页] [1] [下一页]

 *树形目录 顶端 
主题:  sql2000中的Binary字段存取问题(181字) - 猪八戒,2009年7月27日
    回复:  recordset记录集中应该可以设置读取字段类型。具体你去查一下。..(61字) - yarke,2009年7月28日
    回复:  谢谢。可是,现在我有一个SQL库,表中有Binary字段,里面存着文件,怎么办?[align=ri..(168字) - 猪八戒,2009年7月28日
    回复:  这里引用陆卫康老师的文章介绍图片的导入与还原问题在 VFP 6.0 ..(5210字) - 独孤剑圣,2009年7月28日


 *提问结帖:将分数分配给帮助了你的网友 - [论坛积分规则]

右边列出了所有回答过你提问的帐号,请将分数分配给回答正确的用户。

提示:
    您的积分在提问时已经扣除,所以结帖分配积分并不会减少您的现有积分。
    在得到帮助后请及时结帖,否则会受到斑竹的处罚[扣除积分]。

如果某个用户不分配则留空,仅填写要分配的用户即可。

总分数:50   已分配:0   可分配:50





 *快速回复:sql2000中的Binary字段存取问题  [ 回帖是一种美德 :) ]
会员账号 用户名    还没注册?    密码    忘记密码?
内容
  • HTML标签: 不可用
  • UBB标签: 可用
  • 贴图标签: 可用
  • 多媒体标签:可用
  • 表情字符转换:可用
  • 上传图片:不可用
  • 最多15KB
  • 插入代码 粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
    点击表情图即可在帖子中加入相应的表情
                                
    邮件回复 显示签名   [Ctrl+Enter直接提交贴子]