只有这样才查得到:
"select * from commu where %s = '%s' ",m_tablefield,m_keyword
换成LIKE后就查不到了,郁闷.
m_keyword2="%"+m_keyword+"%";
select * from commu where %s like '%s' ",m_tablefield,m_keyword2请教

解决方案 »

  1.   

    SQL语句是正确的,可能是其它原因。
      

  2.   

    检查在Access的数据库选项中是否打开了SQL92兼容语法
      

  3.   

    楼上, 是应该m_keyword2="%"+m_keyword+"%";
    我用ODBC还是好的,但是用DAO就不对了.
      

  4.   

    我在使用DAO的时候遇到这样的问题:binding 数据库的时候:"Unrecognized database fomat '....*mdb'".这个怎么解决呢?
      

  5.   

    我也试过了,
    CDaoRecordset *rs=new CDaoRecordset(&db);
    rs->Open(dbOpenDynaset,"select * from commu where telephone like '%1%'",dbReadOnly);查不到结果,而数据库里是有数据的.
      

  6.   

    CDaoRecordset *rs=new CDaoRecordset(&db);
    rs->Open(dbOpenDynaset,"select * from commu where telephone = 1388'",dbReadOnly);
    这样就查得到.
      

  7.   

    select * from commu where telephone like '*1*'
    在access中用*号
      

  8.   

    Access默认的语法是使用*作为通配符,但是如果打开了SQL92兼容语法选项,那么通配符变成%