我在做一个模糊查询,几个条件
A_name like '%"+TextBox6.Text+"%' or P_au1name like '%"+TextBox6.Text+"%' and 
P_au2name like '%"+TextBox7.Text+"%'  出不来。
但是
A_name like '%"+TextBox6.Text+"%' and   P_au2name like '%"+TextBox7.Text+"%'出的来
为什么是不是因为模糊查之间不能用or?

解决方案 »

  1.   

    你or 和and混用了
    你这样是根据输入选项是否有值、然后组合成SQL语句!
    如此写好不规范!
    你可以判断是否有值,然后再看要不要用and 语句连接:
    if(TextBox6.Text!="")
    SQL=SQL+" P_au1name like '%"+TextBox6.Text+"%' ";
    if(TextBox7.Text!="")
    SQL=SQL+"and P_au2name like '%"+TextBox7.Text+"%' ";
      

  2.   

    因为你这样写了Analyser认为是有歧义组合的语句。