我的代码如下
         CDataSource dr;
CSession session;
CCommand<CDynamicAccessor> cmd;
HRESULT hr;
CString strConn;
BSTR bstrConn; strConn = _T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\图书目录.mdb");
bstrConn = strConn.AllocSysString();
hr = dr.OpenFromInitializationString(bstrConn);
::SysFreeString(bstrConn); hr = session.Open(dr); hr = cmd.Open(session,_T("select * from ebooks"));
CString str;
while(cmd.MoveNext()==S_OK)
{
str = (wchar_t*)cmd.GetValue(_T("bookname"));
              //此处str的值有问题
} cmd.Close();
session.Close();
dr.Close();这段代码如果在VC6下编译运行,则str的值会不完整,没有得到完整的字符串
但是同样的代码如果放到VS2003中编译运行,则运行结果是正确的
不知道在VC6下如何能得到正确的结果?还有如果用VC6的向导生成Oledb方式访问数据库的类,则也同样存在此问题
这是不是VC6的一个BUG?该如何解决?另:如果字段内容是中文,还没有发现问题,如果字段内容是英文或字母就有此类问题搞了一天也没有搞定,希望大家帮帮忙!谢谢!