/*ID NAME ADDESS1
1 张三 中国
2 四李 美国
3 四3 俄罗斯 */ADDESS1例名,是前台传过来的,是一个combobox.text控件,里面的内容有各中国,美国,俄罗斯,等,最上面有一个全部,这个sql全部.这个SQL语句怎么写?例如我要查询ADDESS1列所有等于中国的数据,select * from tb1 where ADDESS1='''+combobox.text+''' (此时combobox.text值为中国
如果combobox.text值为全部时,SQL语句怎么写?

解决方案 »

  1.   

    当选择全部的时候你可以换一个sql语句啊
    select * from tb where address in (select address from tb2)
    tb2就是你上面列出在控件中的查询出的表
    一般这个控件不会将全部值同时返回的吧
      

  2.   

    select * from tb1 where ADDESS1='''+combobox.text+''' or ''全部''='''+combobox.text+''''
      

  3.   


    我要的不是这种结果...查询有条件时为
    select * from tb1 where ADDESS1='中国'当要查询全部时
    select * from tb1 --后面的条件没了,但combobox.text反回的值为全部,这里就要加IF,有没有其它更好的方法
      

  4.   

    额。。同一个表啊。。
    2#的对的啊,如果box返回的是中国,那么就会显示一条语句
    如果box显示的是全部,那么就会进行or判断,or判断始终为true就会显示全部数据不过“全部”这里他丢了单引号呵呵
      

  5.   


    可能是我表达有问题...
    combobox.text的值是这样的.. 
       
    全部
    中国
    美国
    俄罗斯如果选择全部时怎么写?不想写IF在去判断
      

  6.   

    你选全部时,combobox.text值是什么啊。。
      

  7.   

    "select * from tb1 where ADDESS1='"+combobox.text+"' or '全部'='"+combobox.text+"'"
    如果还是查不到数据就跟踪调试一下,传过来的是不是全部这两个字,会不会有空格之类的
      

  8.   


    楼上兄弟得方法没问题,只要你传过来的值等于“全部”就OK。但我想就算你多写一个IF判断又不会影响多大,为啥不写呢。
      

  9.   

    断点调试一下,获取到的combobox.text是什么,当选择全部的时候。
    注意看是否有空格什么的。
      

  10.   

    select * from tb where address <>NULL