c++的SQL中模糊查询中通配符的问题(like语句)请大家帮忙看看Sql=“where name like '天宁%'”;这句代码有何问题目的是实现模糊查询,搜索数据库中名字为”天宁区“”天宁街道“的字段,
sql语句为 select * from 地名索引 where namelike '天宁%'
但返回值总是空 改为select * from 地名索引 where namelike '天宁%%'也是一样
如果改为 select * from 地名索引 where namelike '天宁区'
则能成功返回”天宁区这条记录“
语言是vc++,数据库为ACCESS,用DAO一切正常

解决方案 »

  1.   


    改成select * from 地名索引 where name like '天宁*' 试式
      

  2.   

    一定要注意,仅当使用 Microsoft® Jet 4.X 版和 Microsoft OLE DB Provider for Jet 时,ANSI SQL 通配符 (%) 和 (_) 才可用。若使用 Microsoft Access 或 DAO,则将其视为原义字符。
      

  3.   

    Sql="where name like '天宁%%'";
    要是通不过可以试试:
    Sql="where name like \'天宁%%\'";
      

  4.   

    好像应该是 where name like '%天宁%',你试试