如题!假设在SQL Sever中某个字段的类型为Text
那么在VC中我想通过ODBC或者ADO访问该字段,
那么我要如何做才能获得该字段的内容呢?
求救!!

解决方案 »

  1.   

    ODBC---从CRecordSet派生一个类,对应你的表,会自动生成一个变量与这个字段匹配
      

  2.   

    BYTE bVal[41];
    long nCount = pRecordset->Fields->Item["Info"]->ActualSize;
    _variant_t var;
    nCount = nCount < 40 ? nCount : 40;
    var = pRecordset->Fields->Item["Info"]->GetChunk(nCount);
    for(long index = 0; index < nCount; index++)        
    {
       if(FAILED(SafeArrayGetElement(var.parray, &index, bVal+index)))
          return 3;
    }以上代码是我用ADO读取Info字段40个字符的二进制内容的,也许可以参考一下
      

  3.   

    最简单的就是如ffit(ffit)说法
    利用向导构造一个CRecordSet的派生类
    text和MFC中CString对应,使用没有问题
    但是有一个点要注意:
    在DoFieldExchange(CFieldExchange* pFX)方法中,要定义text的最大长度
    形如:RFX_Text(pFX, _T("[nccontent]"), m_nccontent,65536);