我在page_load事件中写了一个sql语句,从数据库读出一条记录,用SqlDataAdapter写入ds.tables["test"]
然后我在button1单击事件中写入一个操作:
GridView.DataSource=ds.Tables["test"];
GridView.DataBind();
测试没有问题,GridView能将记录读出来
然后我创建了一个button2,将page_load事件中的代码全盘写入button2的单击事件.
再次测试,先单击button2,然后单击button1,结果没有任何效果.
应该说单击button2和page_load一样应该将sql记录写入ds.tables["test"]了啊,可是为什么button2的单击事件没有效果呢?

解决方案 »

  1.   


    ...2个代码一样又不会在DataSet中追加数据 顶多是重新绑定数据而已 
      

  2.   

    第二次我是关闭连接,然后将PAGE_LOAD的代码全盘复制到button2的单击事件中的,然后再重新运行
      

  3.   


    写是写了 只不过又重新创建了一个ds.tables["test"] 记录还是1
      

  4.   

    我是将page_load中的代码剪切进button2中的,第二次运行的时候page_load没有任何操作
      

  5.   

    这怎么可能呢?  你是意思 是不是button2 和button1 事件中的代码一样 ,如果button1的结果可以出来,那button2的数据也可以出来,你看一下你是不是两个事件中的代码不一样 ,你也可以调试一下看 ds.tables是否有值!
      

  6.   


    楼主你怎么脑子转不过来呢?你又实例化了一个新的ds.tables["test"]根本就没有进行添加操作。。
      

  7.   

    不是这个意思 是这样的 控件摆放
    page_load有事件的图 
    运行效果:
    page_load没有事件,button2有事件的图 
    运行效果:
      

  8.   

    这个是第一次运行的代码:
    public partial class _Default : System.Web.UI.Page 
    {
        DataSet ds = new DataSet();
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlConnection sqlcon = new DBcon().GetConnection();
            sqlcon.Open();
            string sel = "select * from shop where shopid=1";
            SqlDataAdapter sda = new SqlDataAdapter(sel, sqlcon);
            sda.Fill(ds, "test");
        }
        protected void bt1_Click(object sender, EventArgs e)
        {
            gr.DataSource = ds.Tables["test"];
            gr.DataBind();
        }
        protected void bt2_Click(object sender, EventArgs e)
        {
            
        }
    }运行之后点击bt1_Click能显示一条结果这个是第二次运行的代码:
    public partial class _Default : System.Web.UI.Page 
    {
        DataSet ds = new DataSet();
        protected void Page_Load(object sender, EventArgs e)
        {
            
        }
        protected void bt1_Click(object sender, EventArgs e)
        {
            gr.DataSource = ds.Tables["test"];
            gr.DataBind();
        }
        protected void bt2_Click(object sender, EventArgs e)
        {
            SqlConnection sqlcon = new DBcon().GetConnection();
            sqlcon.Open();
            string sel = "select * from shop where shopid=1";
            SqlDataAdapter sda = new SqlDataAdapter(sel, sqlcon);
            sda.Fill(ds, "test");
        }
    }运行之后点击bt1_Click页面上没有显示任何数据
      

  9.   

    补充一点:第二次运行的时候我是先点击bt2_Click之后,网页下面显示完成之后我再点击bt2_Click的
      

  10.   

    补充一点:第二次运行的时候我是先点击bt2_Click之后,网页下面显示完成之后我再点击bt1_Click的
      

  11.   


    哎....只不过又做了一次查询,绑定了DataSet而已,没有在DataSet记录后追加的操作...