请问_bstr_t类型的变量,当为空的时候是NULL吗?
请问:
1:_bstr_t类型的变量,当为空的时候是NULL吗?
2:还有LPCTSTR类型的变量,当为空的时候是什么呀?
3:CString strtemp=(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("http")
当http字段为空的时候,strtemp=???
问题点数:0、回复次数:3Top
1 楼krh2001(边城浪子)回复于 2005-06-02 22:04:12 得分 0
1) NULL;
2) NULL;
3) 这条语句会出错
空字段返回 VT_NULL. VT_NULL 不能转换到 _bstr_t, 会抛出异常Top
2 楼shellhy_cn(红叶搂风)回复于 2005-06-02 22:06:33 得分 0
请问当我遇到空字段的时候,该怎么做呀?
Top
3 楼qrlvls( 空 气 )回复于 2005-06-02 22:14:19 得分 0
CString CsRecordSet::GetString(LPCTSTR strField)
{
CString strValue(_T(""));
_variant_t varFieldValue;
if (m_bValid)
{
try
{
varFieldValue = m_pRecordset->GetCollect(strField);
switch(varFieldValue.vt)
{
case VT_NULL:
break;
case VT_BSTR:
strValue = varFieldValue.bstrVal;
break;
case VT_I2:
case VT_I4:
case VT_INT:
strValue.Format(_T("%d"), varFieldValue.intVal);
break;
case VT_UI2:
case VT_UI4:
case VT_UINT:
strValue.Format(_T("%u"), varFieldValue.uintVal);
break;
default:
break;
}
}
catch (_com_error)
{
}
}
return strValue;
}
Top




