从tab中读出记录,data字段是字符串类型,但是不知道如何从ret中把它取出来,
按照pc指针的方式,打印出来的字符串是不对;
而按照CString   str转换后,打印出来的不是原来数据库中存的字符串,是数值。这个问题该怎么解决呢?谢谢!代码如下:
_bstr_t strSql("select * from tab where id2='" + id + "'");
HRESULT hr = m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(strSql, _variant_t((IDispatch*)m_pConnection,true), adOpenDynamic, adLockOptimistic, adCmdText); while(!m_pRecordset->adoEOF)
{
variant_t ret = m_pRecordset->GetCollect("data");
char * pc = ret.pcVal;
Cstring str=ret.bstrVal;
                
                for(int i=0; i<sizeof(ret)/sizeof(char);i++)//这种方法打出来的字符不连续,与原串不一致,还有乱码
cout<<pc[i];
                
CString   str   =(char   *)(_bstr_t)ret;  //这种方法打印出来的不是字符串,而是数值
                cout<<str<<endl;