怎么会是空的呢dataSet11是从数据库中查出来的结果,把这个可以放在viewstate中,在第二次的时候从
viewstate中取出,如果viewstate中为null,那就在从数据库拿一次

解决方案 »

  1.   

    终于等到你了!
    我也不知道是什么原因,
    private void ButQuery_Click(object sender, System.EventArgs e)//查询
    {
    DGResult.Visible = true;
    dataSet11.Tables.Clear();//清空表内容
    if(DropLimit.SelectedIndex == 0)//精确查询
    {
    switch(key)
    {
    case 0://按编号
    querystring = TexInput.Text;
    cmdstring = "sql语句";
    }
    break;
                               case 1:
                               ............
                    }
    SqlConnection con = new SqlConnection(StaticVariables.sqlConnectString);
    SqlCommand cmd = new SqlCommand(cmdstring,con);
    sqlDataQuery.SelectCommand.CommandText = cmdstring;//SqlDataAdapter
    sqlSelectCommand1.CommandText = cmdstring;
    SqlDataAdapter SDAdapter = new SqlDataAdapter(cmd);
    con.Open();
    SDAdapter.Fill(dataSet11,"Ipdata");
    Session["count"] = count;
    Session["dataset"] = dataSet11;
    con.Close();
    DGResult.DataSource = dataSet11.Tables["Ipdata"].DefaultView;//DataGrid
    DGResult.DataBind();
    }
    private void ButQuery2_Click(object sender, System.EventArgs e)//组合查询,enabled由查询按钮激活
    {
    int count = (int)Session["count"];//
    dataSet11.Merge((DataSet)Session["dataset"]);
    int key = DropSelect.SelectedIndex;//key对应Ipdata中各数据项
    string querystring = "";//查询内容初始化 TexInput.Text
    int queryint = -1;
    string cmdstring = "";
    dsTemp1.Clear();//
    DGResult.DataSource = dataSet11.Tables["Ipdata"].DefaultView;
    int count = dataSet11.Tables[0].Rows.Count;
    int col = dataSet11.Tables[0].Columns.Count;
    int discurrentrow =0;//当前表行
    int tempcurrentrow=0;//临时表行
    int discount = count;//当前表行数
    if(DropLimit.SelectedIndex == 0)//精确查询(分精确和模糊查询)
    {
    switch(key)
    {
    case 0://按编号
    querystring = TexInput.Text;
    while(discurrentrow<count)
    {
           ..昨天的方法..
    }
                                 dataSet11.Clear();
    dataSet11.Merge(dsTemp1);
    DGResult.DataSource =dataSet11;
                               break;
                               case 1:
                              ...............
                         }
    sqlDataQuery.Fill(dataSet11);
    DGResult.DataBind();
    }师兄,我把具体代码一会发到你信箱,如果上面给的信息不够用,你再看吧,好吗?麻烦你了!!
      

  2.   

    我解决了,原来我从数据库里取出来的数据因为长度的问题后面是有空格的,.trim()就OK了。谢谢!
      

  3.   

    whmjw(明年今日十年之后) ,你说得对,我会多注意这个的!谢谢!