本站首页    管理页面    写新日志    退出


«August 2020»
1
2345678
9101112131415
16171819202122
23242526272829
3031


公告
暂无公告...

我的分类(专题)

日志更新

最新评论

留言板

链接


Blog信息
blog名称:VFP及Sql Server拙笔
日志总数:46
评论数量:107
留言数量:0
访问次数:396364
建立时间:2005年5月12日




[VFP与SQL]如何用 VFP 和 ADO Stream 对象来获取二进制数据
文章收藏,  网上资源,  读书笔记,  日后处理,  软件技术

老瓷 发表于 2005/11/28 8:37:07

概述Visual FoxPro 具有用 ActiveX Data Objects (ADO) Stream 对象和记录集来处理 SQL Server 中的 Binary Large Object (BLOB) 数据的能力. BLOB 是一种包含二进制数如图形, 声音或编译后的代码的数据列类型. 从应用程序的观点看, 这些数据是 "无定型的". 在 SQL Server, 这些数据通常是大家知道的 "Image" 数据类型. 更多信息以下示例代码假定你具有访问 Microsoft SQL Server 所必需的特权, 而且在你的 SQL Server 7.0 Pubs 示例数据库中有 pub_info 表. 在 Visual FoxPro 中创建一个新程序. 粘贴以下代码到该新程序中: CLEARCLEAR ALLRELEASE ALL#DEFINE LOC_SQLSERVERNAME "Server"#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.CLOSEloConnection.CLOSEloADOStream.CLOSE ERASE CURDIR() + "BLOB.gif"  修改三个 #DEFINE 语句来反映你的本地设置, 然后保存并运行该程序. 在 Visual FoxPro 桌面上观察图象.

阅读全文(6343) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144428922 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号