在SELECT语句后面添加LIKE进行模糊查询
一直查询不出结果
但是将LIKE后面的语句去掉后
查询功能还能正常使用
不知道是哪里出错了
高手请指导

解决方案 »

  1.   

    贴下你的sql语句
    可能你的模糊查询语句内有单引号影响了查询,replace成2个单引号
      

  2.   

    string bookname = string.Format("select * from 图书管理系统数据库 where 书名='{0}'", textBox1.Text);
      

  3.   

    string bookname = string.Format("select * from 图书管理系统数据库 where 书名 LIKE '%{0}%'", textBox1.Text);
      

  4.   


    我是在where 书名='{0}'后加入like '*XXX*'的
    结果不行的。
    这样写错误在哪呢 
      

  5.   


    string bookname = string.Format("select * from 图书管理系统数据库 where 书名='{0}' LIKE '*S1*'", textBox1.Text);
      

  6.   

    ca..这明显语法错误:
    你先google一下  sql like语法先
      

  7.   


    额。我用的是ACESS数据库
    网上查了说ACESS与SQL的通配符不一样
    然后%和*试了都不行。删除like带的语句后,还是能正常查询。
      

  8.   

    不好意思,没看到是access,access现在忘得差不多了
      

  9.   

    我查了一下,似乎在C#语言中,还是要写%,编译器会根据情况翻译SQL语句的
      

  10.   

    string bookname = string.Format("select * from 图书管理系统数据库 where 书名  LIKE '%{0}%'", textBox1.Text);
     //不行么?
    //那这样行不?
    string bookname ="select * from 图书管理系统数据库 where 书名  LIKE '%"+textBox1.Text+"%'";
      

  11.   


    我觉得应该不是因为通配符而出错的
    应该是where 书名='{0}' LIKE '*S1*'有问题。但不明白是为什么。
    去掉like语句后还是能正常查询。
      

  12.   

    LIKE '*S1*'  这个是查哪个字段啊?
      

  13.   

    string bookname = string.Format("select * from 图书管理系统数据库 where 书名 LIKE '*{0}*'", textBox1.Text);
      

  14.   


    字段 like ‘% ...%’
      

  15.   

    string bookname = string.Format("select * from 图书管理系统数据库 where 书名 LIKE '%{0}%'", textBox1.Text
    模糊查询要用%%的