以下代码,从数据库中查询数据,显示在对话框中,但是运行后出现,内存不能为read的错误。高手帮忙看看什么问题?void CFindResidentDlg::OnButtonFind() 
{
UpdateData(TRUE);
if(strcmp(m_name,"") == 0)
{
AfxMessageBox("请输入姓名进行查找!");
}
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
CString gSQL;
_bstr_t vSQL;
 
gSQL.Format("select * from resident where  姓名='%s'",m_name);
vSQL = (_bstr_t)gSQL; m_AdoConn.m_pRecordset = m_AdoConn.GetRecordSet(vSQL);
while(!m_AdoConn.m_pRecordset->adoEOF)
{
_variant_t b,u,r,p;
b = m_AdoConn.m_pRecordset->GetCollect("所属楼栋");
if(b.vt!=VT_NULL)
{
b.vt=VT_BSTR;
USES_CONVERSION;
   m_building = W2T(b.bstrVal);
}
m_AdoConn.m_pRecordset->MoveNext();
}
m_AdoConn.ExitConnect();

UpdateData(FALSE);
}