我把一个DropDownList进了了数据库绑定、但是在其他页面进行关于它的数据库查询操作时却无法执行,不报错,但是却直接在GridView里直接显示所有的数据。
这是数据绑定代码:
SqlConnection conn = new SqlConnection("server=.;uid=sa;pwd=xianyulinbin;database=Caiwu");
         SqlDataAdapter dap = new SqlDataAdapter("select * from Bank", conn);
         DataTable dt = new DataTable();
         dap.Fill(dt);
         DropDownList1.Items.Clear();
         DropDownList1.DataSource = dt;
         DropDownList1.DataTextField = "BankName";
         DropDownList1.DataValueField = "BankName";
         DropDownList1.DataBind();
         DropDownList1.Items.Insert(0, new ListItem("", ""));
这是下面的调用代码:
string sqlstr="select * from Jinzhang where 1=1 ";
        if(ddlYear.SelectedValue !="")
        {
            sqlstr += " and Data like '"+ddlYear.SelectedValue+"%'";
        }
        if(ddlMonth.SelectedValue !="")
        {
            sqlstr += " and Data like '%-" + ddlMonth.SelectedValue + "-%'";
        }
        if(ddlDay.SelectedValue !="")
        {
            sqlstr += " and Data like '%-%-" + ddlDay.SelectedValue + "'";
        }
        if(DropDownList1.SelectedValue !="")
        {
            sqlstr += " and Bank ='" + DropDownList1.SelectedValue + "'";
        }
前面3个if语句能正常的执行,就是最后一个if语句不行,希望能告知原因。

解决方案 »

  1.   

    自己看看SelectedValue 是什么,是不是null,null和''可不一样
      

  2.   

    调试下 ·看看值 是不是null··
      

  3.   

    不是NULL啊,下拉菜单是一些字符串。我选择了一个后,点击按钮事件,结果gridview里直接显示的是表里所有的数据。但是前面3个if语句没问题,执行结果能在gridView里显示。
      

  4.   

    对了,有个细节。前面3个IF语句的选择项选择完,点击按钮事件后。它的选择项的值还是我之前选择的值,但是第四个IF语句,我选择完一个项点完确定后,它的值自动回到“ ”了。是不是这个原因?
      

  5.   

    哦,找到原因了。原来我是把数据源绑定的代码丢PAGELOAD里面了,使得每次点按钮事件后,值又默认为“ ”。谢谢大家。