在用ado读出数据库中内容以后:
_ConnectionPtr newconn=databaseconn();
_RecordsetPtr myrec;
myrec.CreateInstance("ADODB.Recordset");
myrec->Open("SELECT * FROM test",_variant_t((IDispatch*)newconn,true),adOpenStatic,adLockOptimistic,adCmdText);
if(myrec->adoEOF)
{
MessageBox("hello");
}
else
{
_variant_t content;
content=myrec->GetCollect("content");
m_result=(LPCTSTR)(_bstr_t)content;//这里出错
UpdateData(false);
}
请看到数第三行,为什么转换会有错误?m_result为UNIT类型。
_ConnectionPtr newconn=databaseconn();
_RecordsetPtr myrec;
myrec.CreateInstance("ADODB.Recordset");
myrec->Open("SELECT * FROM test",_variant_t((IDispatch*)newconn,true),adOpenStatic,adLockOptimistic,adCmdText);
if(myrec->adoEOF)
{
MessageBox("hello");
}
else
{
_variant_t content;
content=myrec->GetCollect("content");
m_result=(LPCTSTR)(_bstr_t)content;//这里出错
UpdateData(false);
}
请看到数第三行,为什么转换会有错误?m_result为UNIT类型。
content又是是什么类型?
_variant_t var = _variant_t(m_pRecordset1->GetFields()->GetItem("Eqp_factory")->Value)
strValue.Format("%d<你需要的类型>", var );
cannot convert from 'const char *' to 'unsigned int'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast