MFC透过ADO获取SQL中值为NULL的列

MFC通过ADO获取SQL中值为NULL的列
str=(char*)(_bstr_t)(theApp.m_pRecordset)->GetCollect("学号");
如上,当学号这一列,在SQL中值为NULL
MFC程序就会获取失败然后报错,如何在获取前判断是否为NULL呢?
------解决方案--------------------
数据先读入Variant类型变量中,判断是否为NULL,不是则赋给你要的变量中。 
------解决方案--------------------

                                     CString strSql=_T("");
_variant_t varSql;
varSql.Clear();
varSql=m_pRecordset->GetCollect(“学号”);
                                if(varSql.vt==VT_NULL
------解决方案--------------------
varSql.vt==VT_EMPTY)
                                 {
                                    .........................
                                 }
                                 else
                                    varSql.ChangeType(VT_BSTR);
                                    strSql=varSql.bstrVal;
------解决方案--------------------
引用:
CString strSql=_T("");
_variant_t varSql;
varSql.Clear();
varSql=m_pRecordset->GetCollect(“学号”);
                                if(varSql.vt==VT_NULL
------解决方案--------------------
varSql.……

++