ds=db.execSqlForDataSet("select * from Contact where cName Like '*"+txtName.Text+"*'");
因为使用的是ACCESS,所以需要把like后面的'和最后的'都写成"
该怎么写?c#

解决方案 »

  1.   

    string sql="select * from Contact where cName Like '*"+txtName.Text+"*'"";
    string sql2=sql.Replace(",";"“");
      

  2.   

    什么意思,c#中你的写法没有错误
    string strQuery = "select * from Contact where cName Like '*"+txtName.Text+"*'";
      

  3.   

    没有错误吗?可是不行啊,用'号的话就查不出记录的,非得用"号。我在ACCESS里面试了
      

  4.   

    ds=db.execSqlForDataSet("select * from Contact where cName Like \"*"+txtName.Text+"*\"");
    这样行吗?添加转义字符 \"的方式
      

  5.   

    知道问题所在了
    ds=db.execSqlForDataSet("select * from Contact where cName Like '%"+txtName.Text+"%' OR nickname Like '%"+txtNickName.Text+"%'");如果没有OR后面的那句,就查得很准确,如果有OR的话,就必须在两个文本框输入一样的内容才可以查准确,不然就会查出所有记录,不管是否符合条件。
    这是为什么呢?
      

  6.   

    SQL本来就有问题,不关Access的事。WHERE A Like 'xxx' 的效果等于:WHERE A='xxx'
    WHERE A LIKE '%xxx%'的效果:查找A包括xxx的结果
      

  7.   

    Access数据库like语句的通配符是“*”不是“%”
      

  8.   

    Access数据库like语句的通配符是“*”不是“%”
    对,但是如果在C#里面写的话就必须得写%号而不是*号。
      

  9.   

    那么楼主的两个条件不要用Or,用AND