ACCESS中表tb_test有一个备注类型的字段DATA
里面存放的内容较多
我用
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT top 1 * FROM tb_test",_variant_t((IDispatch *)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
_variant_t vData ,vTime;
vData = m_pRecordset->GetCollect("Data");//取备注类型的DATA字段
其他程序保存入库的时候没什么问题,里面内容很长.
为什么我在ACCESS里看数据都有,自己用程序取出来总是只能取到一部分呢?

解决方案 »

  1.   

    我调式的时候在WATCH里看vData的数据,只有一部分
    好象只取前面250左右的长度
      

  2.   

    TRACE("%s\n",(LPCTSTR)(_bstr_t)vData );
    这样看,watch里面有可能不全
      

  3.   

    我用CString sData; 看
    sData.Format("%s",(LPCTSTR)(_bstr_t)vData);
    结果也是被截取的
      

  4.   

    在ACCESS存放的没有问题?
    你备注里都是些什么啊?
    实在不行就放到OLE里吧!
      

  5.   

    watch里看东西本来就看不全,TRACE也一样。你可以用CFile写到文件里看看!此外备注型的字段可以用二进制的方法读。
      

  6.   

    这个数据库结构不能做更改了,我只负责读取里面的内容,现在备注字段的东西在ACCESS程序里可以看见,但读不出.
    我还下载了http://www.vckbase.com/document/viewdoc/?id=215 上的一个例子,把他表里的username字段改成备注,然后填入如
    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaAaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaA
    这样长的内容
    就只能读取一部分了,250个多一点
    请教这是为什么
      

  7.   

    问个问题。你备注里是不是纯字符串内容,是UNICODE编码的数据吗