ADODB::_RecordsetPtr recordsetPtr = GetRecordsetPtr();//GetRecordsetPtr()是我自己定义的函数
_variant_t varTemp = recordsetPtr->GetCollect(long(0));
我在数据表的第一行第一列是输入的是"Tom",但是通过调试代码我看到varTemp中得到的数据是:
{"Tom                 
                             "VT_BSTR}这让我很迷惑。我想问一下,有没有办法将“Tom”后面多余的空格和换行过滤掉,让我能得到我原始输入数据呢?
谢谢啦!还有,补充一下,我在用同样的函数读取其他数据库(access...)中的文本数据就没有上述多余的空格和换行。

解决方案 »

  1.   

    你用CString sVal = varTemp.bstrVal;看看sVal中是否有空格。
    有的话就sVal.TrimRight();
      

  2.   

    _variant_t   vt;   
      _bstr_t   st;   
      CString   str;     st=vt;   
      str=st;这样就实现了_variant_t 转CString。然后CString里面有去除空格或是替换字符串的函数可以调用,比如楼上说的TrimRight
      

  3.   

    你的字段类型是varchar还是char,char的话,会自动填充空格的
      

  4.   

    char[]类型的会根据你数据库里面定义的长度填空格,转化为CString然后去掉就行了........