none
dropdownlist内容作为SQL的查询参数 RRS feed

  • 问题

  • dropdownlist的值作为sqldatasource的查询参数,其中有一项为“全部”,怎样实现当选“全部”时sqldatasource取回全部数据。


    • 已移动 肖小勇Moderator 2011年4月16日 3:19 ASP.NET 相关问题 (发件人:.NET Framework 一般性问题讨论区)
    2011年4月14日 9:35

答案

  • 发错了,更正一下

    where 条件如: where (@参数 = '全部' or col = @参数) and 其它条件....

     


    知识改变命运,奋斗成就人生!
    • 已标记为答案 是国晓 2011年4月20日 8:04
    2011年4月16日 5:05
    版主

全部回复

  • 你好!

    修改 where 条件如: where (col = '全部' or col = '@参数') and 其它条件....


    知识改变命运,奋斗成就人生!
    2011年4月14日 11:11
    版主
  • 使用数据绑定,为你的查询条件定义个类,如下:

    class Argument

    {

      public string Text{get;set;}  //用于显示在Dropdownlist中的文本

      public string Value {get;set;} // 用于制定 where 条件值的表达式
    }

    对于 Text 为 "全部"的Argumnet对象,将其 Value 设置为 "1 = 1"

    对于 Text 不为"全部"的 Argument对象,将其 Value 设置为 "field = xxxxx";

    然后在查询之前,拼接 sql 的 where 条件

    select * from table where + argument.value;

    2011年4月15日 2:38
  • 我用的是sqldatasource控件啊,能这样设置吗?
    2011年4月15日 9:39
  • 我上面的方式是可行,修改生成的 SQL 就行了
    知识改变命运,奋斗成就人生!
    2011年4月16日 3:16
    版主
  • col一列中并没有名为‘全部’的数据,col = '全部'的写法什么数据都取不到的啊。我要的是取回所有的数据,而不是col为“全部”的数据。
    2011年4月16日 4:15
  • 发错了,更正一下

    where 条件如: where (@参数 = '全部' or col = @参数) and 其它条件....

     


    知识改变命运,奋斗成就人生!
    • 已标记为答案 是国晓 2011年4月20日 8:04
    2011年4月16日 5:05
    版主
  • 可以换用object datasource然后在类的选择方法里面加上判断的逻辑

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2011年4月16日 6:50
    版主