请问有没有简单的方法实现将DropDownList下拉列表中的全部选项作为条件进行查询,同时也可以正常的单项查询?

解决方案 »

  1.   

    一个用 select * from tb where id  in("")
    一个用select * from tb where id = 
      

  2.   

    有没有具体方法代码,我的数据类型是uniqueidentifier的。
      

  3.   

    DropDownList只能选择一项啊,
    ListBox可以选择多项的String sql="";
    for(int i = 0;i<ListBox1.Items.Count;i++)
    {
     if(ListBox1.Items[i].Selected) sql = " guid='"+ ListBox1.Items[i].Value +"' Or";
    }
    if(sql!="") sql=" Where " + sql.Substring(0,sql.Length-2);sql = "select * from table" + sql;
      

  4.   

    这个不能偷懒的,最终还是要在服务端给提交参数进行检查和组合sql语句,否则就可能被sql攻击了。
    我估计LZ的意思是控件值直接生成sql语句吧?太不安全了。
      

  5.   

    for循环dropdownlist里面所有的项,然后进行字符串的拼接.
      

  6.   

    string sql="";
    str+="string.IsNullOrEmpty(DropDownList.SeletedValue)?"":" and 字段='"+DropDownList.SeletedValue+"'";
    遍历DropDownList
    foreach(ListItem li in DropDownList.Items) 
    {
     sql+=""+",";
    }
    sql=sql.EndsWith(",")?sql.SubString(0,sql.Length-1):sql;
    多条件使用chechboxlist
    遍历获取条件
      

  7.   

    补充说明一下:在DropDownList选项中有全部、选项一、选项二、选项三,当选中全部时包含选项一、选项二和选项三的内容,当然选中选项一或选项二或选项三就是具体某一项的内容。
      

  8.   


    esszy你什么意思?你可以用DataView.Filter对DataTable进行筛选,把DropDownList选中项放在DataView.Filter里作为条件,全部、单项都可以查呀。
      

  9.   

    我以前做过同样的DropDownList,效果就是我上面说的那样,是通过Hashtable,然后拼接查询语句等来做的,但我觉得比较麻烦,所以现在与大家一起讨论,能否找出一种更简便的方法来实现同样的效果?
      

  10.   

    没错,C语言代码我也玩过,那是十多年以前的事了,当时在DOS环境下的TC和BC++等编程环境,根本没有现在这样轻松,最怕的是输入代码和调试了,一天也做不了多少事。
    对于上面的问题各位能手有没有好的办法呢?如果采用拼接字符串和使用“in”能实现如int型数据类型,但不能实现uniqueidentifier类型的。当然采用其他控件也可以完成类似功能,但我现在是想实现DropDownList的。