有没有哪位高手用ADO读取二进制大对象

linvoc 2001-04-18 08:18:00
本人现在用ADO读取保存在BLOB类型字段的多媒体二进制大对象,例如图像等,采用ADO的Getchunk()方法以及还原成媒体文件的方式,但是读取出来后,碰到_variant_t数据类型的解析问题,查了很多资料,也参考了微软的ADOCHUNK.exe的例子,但该例子是将大容量文本保存在BLOB类型字段中,我需要的是二进制对象。有哪位做过的,请告知。谢谢。(注:请发邮件至linxiao@hqu.edu.cn)
...全文
100 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
文米 2001-04-23
  • 打赏
  • 举报
回复
sorry!!
粘错地方了!
文米 2001-04-23
  • 打赏
  • 举报
回复
我用一下方法做的,编译通过,但是在运行是出现错误:“ 为发现数据远名称并且位指定默 认驱动“ 请各位分析下!
strconnection=_T("Provider=MSDASQL.1;DATA Source=art_data");
m_strcmdtext=_T("select *from lx");
::CoInitialize(NULL);
try
{
m_pRs.CreateInstance(__uuidof(Recordset));
m_pRs->Open((LPCTSTR)m_strconnection,(LPCTSTR)m_strcmdtext,adOpenDynamic,adLockOptimistic,adCmdUnknown);
linvoc 2001-04-20
  • 打赏
  • 举报
回复
有区别,不过我现在已经可以实现了,因为我用VB做了一个ACTIVEX 控件,里面包括了一个将二进制字节数组写入文件的方法,然后在VC中调用这个方法就没有问题了。风之舞如果觉得没有区别,请给例子好吗?谢谢!!!
windindance 2001-04-20
  • 打赏
  • 举报
回复
ya. bluestar(蓝色星星)  is true.
panda_w 2001-04-20
  • 打赏
  • 举报
回复
其实关于你的问题,早就有人写过这样的程序了
http://www.vchelp.net/source/using_blob_demo.zip
bluestar 2001-04-20
  • 打赏
  • 举报
回复
varBLOB = pRs->GetFields()->GetItem("Pic")->GetChunk (lDataLength);
if(varBLOB.vt == (VT_ARRAY | VT_UI1))
{
BYTE *pBuf = NULL;
SafeArrayAccessData (varBLOB.parray,(void **)&pBuf);
//using data.......
SafeArrayUnaccessData (varBLOB.parray);
}
这样就可以了!
windindance 2001-04-19
  • 打赏
  • 举报
回复
大容量文本和二进制对象在操作上没有区别呀.
linvoc 2001-04-19
  • 打赏
  • 举报
回复
各位有做过的请救在下一命如何,差点要吐血了。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧