请教一个SQL问题:
有一个下拉列表控件,可以选择 = 或者是 like。 还有一个textbox 控件,接受用户输入值。
想请教下SQL的where语句应该怎么写:
如: 
如果用户选择 ‘=’ 就是where PIN='aa'
如果用户选择 like  就是where PIN like '%aa%'是否要用if语句来判断。谢谢。  

解决方案 »

  1.   

    可以用if判断!!只要实现效果就ok了啊!
      

  2.   

    where 1=1页面接收过来 直接 拼起来 就好了 
      

  3.   

    参考SQLWhereBuilder控件中sql拼写方法
    参考www.cnblogs.com/mail-ricklee
      

  4.   

    如果这样的like 或 =选择, 有十多个的话,那就要比较多的if嵌套了。还一个问题就是如果如果客户两个空间都没有填的话,就要忽略这个,那不是还要一个if控制?
      

  5.   


    if (str == "=")
    {
         sql = "......where pin = 'aa'";
    }
    else
    {
         sql = ".....where pin like '%aa%'";注:只是提供思路,不建议用字符串保存SQL语句,这样容易被注入式攻击
    }
      

  6.   

    switch
    {
      case "=":
       ..
      case "like":
      ...
    }
      

  7.   

    用if判断干什么?直接:where PIN "+DropDownList1.SelectedItem.Text+" '%aa%'
      

  8.   

    我晕,上面10楼的错了,用if或switch