日期:2014-05-17  浏览次数:20483 次

4个查询条件,判断是否选择。只能判断前两个,后2两个条件不执行
C# code
        string ClassId = DropDownList1.SelectedValue;
        string SmallId = DropDownList2.SelectedValue;
        string StrDate = StrTime.Value;
        string EndDate = EndTime.Value;

        if ((ClassId == "--请选择--") && (SmallId == "--请选择--"))
        {
            Response.Write("<script>alert('请选择查询条件!');history.go(-1);</script>");
        }

        if ( ClassId != "--请选择--")
        {

           Response.Redirect("YuyaoPrice.aspx?ClassId=" + ClassId + "");

        }//这里执行的,后面的不管选了还是没选,都一样。
        if ( SmallId != "--请选择--")
        {

          Response.Redirect("YuyaoPrice.aspx?ClassId=" + ClassId + "&SmallId=" + SmallId + "");

        }
        if (StrDate != "")
        {

            Response.Redirect("YuyaoPrice.aspx?ClassId=" + ClassId + "&SmallId=" + SmallId + "&AddTime=" + StrDate + "");

         }

         if (EndDate != "")
         {

           Response.Redirect("YuyaoPrice.aspx?ClassId=" + ClassId + "&SmallId=" + SmallId + "&AddTime=" + StrDate + "&AddTime=" + EndDate + "");

         }

       }


如何更改?

------解决方案--------------------
if ( ClassId != "--请选择--")
{

Response.Redirect("YuyaoPrice.aspx?ClassId=" + ClassId + "");

}//这里执行的,后面的不管选了还是没选,都一样。


这里满足条件,页面跳转了,所以后面的就不执行了
------解决方案--------------------
SQL code
where UpdateTime between '2012-04-1' and '2012-05-01'

------解决方案--------------------
其实用脚本来判断还好一些,或者你取value的值为0,做为判断条件还清楚些,值取text值。。。


如果查询时间为:2012-05-01到2012-05-10之间的所有记录,这个查询应该怎么写?

where StrDate='2012-05-01' and EndDate='2012-05-10' 这样 ? 

这种查出来的肯定是错误的,因为你这样查的条件是时间值等于那2个时间,应该是查大于2012-02-01小于2012-05-10之间的数值。。。。


比如 string nowstime;
sql="select * from 表名 where nowstime > StrDate < EndDate ";
思路就是这样,楼主可以去试试........
------解决方案--------------------
if ((ClassId == "--请选择--") && (SmallId == "--请选择--"))
{
Response.Write("<script>alert('请选择查询条件!');history.go(-1);</script>");
}

else
{
Response.Redirect("YuyaoPrice.aspx?ClassId=" + ClassId + "&SmallId=" + SmallId + "&AddTime=" 
//在YuyaoPrice判断是否空来操作不好??
}