各位达人:
    能帮我看看这个程序的问题么?
尤其是这句:m_pCommand->CommandText = "SELECT * FROM WGProceNameDable WHERE  s_WGProName=ProName "; 
       // SQL语句
是不是不能这样写呀?
还有就是能够这样返回值么:if(m_pRecordset==NULL)return false;
      else return true;bool CheckProc(string ProName)
{
      m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open("SELECT * FROM WGProceNameDable",   // 查询DemoTable表中所有字段
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{
     AfxMessageBox(e->ErrorMessage());
}
      m_pCommand.CreateInstance(__uuidof(Command));
      m_pCommand->ActiveConnection = m_pConnection; // 将库连接赋于它
      m_pCommand->CommandText = "SELECT * FROM WGProceNameDable WHERE  s_WGProName=ProName "; 
       // SQL语句
      m_pRecordset = m_pCommand->Execute(NULL, NULL,adCmdText); // 执行SQL语句,返回记录集
      if(m_pRecordset==NULL)return false;
      else return true;}

解决方案 »

  1.   

    前面都用m_pRecordset->Open("SELECT * FROM WGProceNameDable",   
    这样的方式了,为何还要一个m_pCommand->Execute呢?混乱啊
      

  2.   

    m_pCommand->CommandText = "SELECT * FROM WGProceNameDable 
    WHERE  s_WGProName= 'ProName' "; 或者应该这样
    CString strSql;
    strSql.Format("SELECT * FROM WGProceNameDable WHERE  s_WGProName='%s'",ProName);m_pCommand->CommandText =strSql; //strcpy(m_pCommand->CommandText, strSql);