设置首页  |   加入收藏  |  联系我们   
您的位置: 主页>程序设计>VFP>正文
如何使用VFP 和 ADO Stream Object 获取二进制数据
文章来源:  编辑:  发布时间:2007-12-12


文章标题 如何使用VFP 和 ADO Stream Object 获取二进制数据
作品来源 DBWIN
转贴自: BOE


 
本文信息应用于:
· Microsoft Visual FoxPro for Windows, version 6.0
· Microsoft SQL Server version 7.0
· ActiveX Data Objects (ADO), version 2.5
概述
可以用 ActiveX Data Objects (ADO) Stream 对象和记录集,来使 Visual FoxPro 具有处理来自 SQL Server 的 Binary Large Object (BLOB) 数据的能力.
BLOB 是一种包含图形,声音或编译后的代码的字段数据类型. 在 一般应用程序中, 该数据是"无格式的".在 SQL Server 中, 该数据是 "Image" 数据类型.
更多信息
以下示例代码假定你拥有访问 SQL Server 的权限,pub_info 表在 SQL Server 7.0 Pubs 示例数据库中.
在 Visual FoxPro 中创建一个新程序.粘贴以下代码到新程序中:
CLEAR
CLEAR ALL
RELEASE ALL
#DEFINE LOC_SQLSERVERNAME "MYSERVER"
#DEFINE LOC_SQLUID "SA"
#DEFINE LOC_SQL_PWD ""
LOCAL lcConnStr, lcSQL, loConnection, lcImageName, ;
loRecordSet, loADOStream
lcConnStr="Provider=SQLOLEDB;" ;
"Data Source=" LOC_SQLSERVERNAME ";" ;
"Initial Catalog=PUBS;" ;
"UID=" LOC_SQLUID ";" ;
"Pwd=" LOC_SQL_PWD
lcSQL = "SELECT * FROM pub_info"
*!* 创建对象.
loConnection = CREATEOBJECT("ADODB.Connection")
loRecordSet = CREATEOBJECT("ADODB.Recordset")
loADOStream = CREATEOBJECT("ADODB.Stream")
*!* 打开连接.
loConnection.OPEN(lcConnStr)
loRecordSet.OPEN(lcSQL,loConnection,2,3)
*!* 设置 Stream 对象属性.
loADOStream.TYPE = 1 && 1=二进制数据, 2=文本数据.
loADOStream.OPEN
loADOStream.WRITE(loRecordSet.FIELDS("logo")) && 传递数据到 Stream 对象.
lcImageName = "BLOB.gif" && 设置本地文件名.
loADOStream.SaveToFile(lcImageName,2) && 保存 stream 对象到一个文件.
@1,1 SAY CURDIR() lcImageName BITMAP && 显示图形文件
*!* 关闭连接.
loRecordSet.CLOSE
loConnection.CLOSE
loADOStream.CLOSE
ERASE CURDIR() "BLOB.gif"
根据你的本地设置,修改三个 #DEFINE 语句中的参数,然后保存并运行程序. 图形文件将显示在 Visual FoxPro 桌面上.


Tags:获取 使用 如何 数据 对象 Server SQL Visual FoxPro
Google
 
上一篇:谈软体专案失败的六大关键   下一篇:Visual FoxPro 的文件处理函数
【返回顶部】 【打印】 【大】 【中】 【小】 【关闭】

 我来说两句
用户名: 新注册) 密码: 匿名评论 [论坛讨论]
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 相关文章
 热门文章

 
版权所有  2005-2006  Linux集中营  闽ICP备07500055号