下面的like在ACCESS中通过,可是在C++里不能用
下面的C++用作其它的查找都没有总是就是like不出数据,也不返回错误代码
bool CADO::RetSql(CString sql,_RecordsetPtr &m_pRecord)//返回
{
m_pRecord.CreateInstance("ADODB.Recordset");
sql="SELECT * FROM medicinemanage where [medicinename] like '*1*'";

try
{
// m_pRecord->Open((_bstr_t)sql,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
m_pRecord->Open((_variant_t)sql,this->m_pConnection.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
ErrStr.Format("查询操作失败!\r\n错误信息:%s",e.ErrorMessage());
return NULL;
}

return m_pRecord;
}

解决方案 »

  1.   

    是啊, like 匹配写法有误, 应用 % , 而不是 * 号:
    sql="SELECT * FROM medicinemanage where [medicinename] like '%1%'";
      

  2.   

    MyMMX200的dos学得好啊,接触计算机怪早的吧...
      

  3.   

    SELECT * FROM medicinemanage where [medicinename] like '*1*'
    -->
    SELECT * FROM medicinemanage where [medicinename] like '%1%'SQL 中 % 表示任意多个字符
           _(下画线) 表示任意一个字符
      

  4.   

    这个问题是这样的,在access自己的查询窗口中,% *都可以的,ado中用%。
      

  5.   

    要用%啊,我好像试过,不过,我再去试试先``
    先谢过了``zcp126() ??
    为什么说我计算机接触的早
    不过我是蛮早就开始玩了``
    98年吧``