_variant_t vparam;
CString s1;
vparam=pRst->GetCollect("Name");
s1=(char*)(_bstr_)vparam;注:数据库是sqlserver 2000,已经连接好了,能运行而且有结果,只是结果和预想的不一样,
在跟踪s1时显示CXX0017:Error:symbol "s1" not found 是怎么回事,该如何改正?谢谢!
CString s1;
vparam=pRst->GetCollect("Name");
s1=(char*)(_bstr_)vparam;注:数据库是sqlserver 2000,已经连接好了,能运行而且有结果,只是结果和预想的不一样,
在跟踪s1时显示CXX0017:Error:symbol "s1" not found 是怎么回事,该如何改正?谢谢!
s1=CString ( (char*)(_bstr_)vparam )
我以为进到DELPHI版块了,快老眼昏花了。才疏学浅没看出错误来。
难道是WIN32程序,不使用MFC库?
强制转化就行啊
vparam=pRst->GetCollect("Name");
s1=(char*)(_bstr_)vparam; S1是一个字符串,
(char*)(_bstr_)vparam 是一个指针
他们怎么可以直接赋值呢?
CString strTelNo;
vtTelNo = rsTt->GetCollect("mobilecode");
strTelNo = (vtTelNo.vt!=NULL)?(LPCTSTR)(_bstr_t)vtTelNo:"";
用是可以用的,防止取到空值,格式如上
vparam=pRst->GetCollect("Name");
s1=(char*)(_bstr_t)vparam;你的写错了 (char*)(_bstr_)少个字母t
while(!pRst->rsEOF)
{
_variant_t vparam;
vparam=pRst->GetCollect("Name");
s1=(char*)(_bstr_t)vparam;
//s1=::SysAllocString((_bstr_t)vparam);
//s1=CString((char*)(_bstr_t)vparam);
//s1=(char*)(_bstr_t)pRst->GetCollect("Name");
//s1=vparam.bstrVal;
//s1=(LPSTR)(_bstr_t)vparam;
//s1=(vparam.vt!=NULL)?(LPCTSTR)(_bstr_t)vparam:""; //s1=(char *)(_bstr_t)pRst->GetCollect("Name");
//vparam=pRst->GetCollect("Name");
//strcpy(s1,(LPCSTR)(_bstr_t)vparam3);
pRst->MoveNext();
}