MFC ADO 无法判断文本类型相等,该怎么处理

MFC ADO 无法判断文本类型相等
用MFC连接ADO正确, SQL语句写为  strSQL.Format(_T("SELECT * FROM [tab1],[tab2] "));    时,在ACCESS和MFC下运行都是结果都正确;
但是如果写为   SQL语句写为  strSQL.Format(_T("SELECT * FROM [tab1],[tab2] ") where [tabl].Name = [tab2].Name);    时,在ACCESS下运行结果正确,而在MFC下运行错误(m_pRecordset->Open无法打开),利用try catch,也不能输出错误,显示错误为“未指定的错误”
怀疑是,在MFC下不能用 [tabl].Name = [tab2].Name 来判断两个“文本”类型相等,我是初学者,各位大神帮帮忙吧!

语句:
------------------------------------------------------------
连接数据库:
void AdoAccess::OnInitADOConn(CString SFileLoc)
{
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance(__uuidof(Connection));
CString strSQL=_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=") + SFileLoc;
if(m_pConnection->State)
m_pConnection->Close(); // 如果已经打开了连接则关闭它
m_pConnection->ConnectionTimeout = 5 ; // 设置连接超时时间为5秒
m_pConnection->Open((_bstr_t)strSQL,"","",adModeUnknown); // 连接
AfxMessageBox(_T("连接数据库") + SFileLoc + _T("成功"));
}
catch(_com_error e)
{
AfxMessageBox(_T("连接数据库") + SFileLoc + _T("失败"));
}
}
------------------------------------------------------------
查询:
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open((_bstr_t)strSQL,m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
 adCmdText);
  }
  catch(_com_error e)
  {
AfxMessageBox(e.Description()); //   取得错误描述信息 // 还可以调用_com_error函数取得其它信息 
         }

------解决思路----------------------
我也碰到同样的问题,我调试进去是这个函数m_pRecordset->Open((_bstr_t)strSQL,m_pConnection.GetInterfacePtr(),
adOpenDynamic,
adLockOptimistic,
 adCmdText);的第二个参数有问题,目前还在解决中,就是给你个查问题的方向,至于怎么解决还是得靠你自己MFC ADO 无法判断文本类型相等,该怎么处理
------解决思路----------------------
[tabl].Name = [tab2].Name

Name属于数据库关键词,必须加[]

[tabl].[Name] = [tab2].[Name]