你的Dataset是在哪里填充的??

解决方案 »

  1.   

    TO: kinglht(爱新觉罗至尊宝)
    private void FrmTemp_Load(object sender, System.EventArgs e)
    {
    this.DtAdpUsers.Fill(this.Dst);
    }
    这是DataSet填充的代码。
      

  2.   

    我查看DataSet里的数据用的是一个DataGrid.
    Mygrid.DataSource=this.Dst.Tables["Users"];
    每次CLICK BUTTON后都看到Grid里加了一条记录,不过不是TextBox里的数据,是第一次Click时的数据。
    打开SQL Server 发现数据正确。
      

  3.   

    在button1_Click()里最后再绑定一下!
    最好定义个函数,把联接数据库,查询,填充,绑定都放进去,然后在FrmTemp_Load()里调一次,在button1_Click()的最后再调一次!!
      

  4.   

    你肯定是在添加数据时,sql修改命令没完成!
      

  5.   

    TO: kinglht(爱新觉罗至尊宝) 
        你的方法我试了,可以解决问题。谢谢!可是我还是不明白为什么DataSet插入数据会出现那种问题?TO:lulei(卢雷)
       你能讲的详细一些吗?是不是InsertCommand的初始化需要做一些特别的动作?
      

  6.   

    你的数据愿更新后,数据列表没有和数据愿同步
    DataBind()就是实现这一功能的
    摘自帮助:
    DataBind 方法通常还用于在数据源中的信息更新后,同步数据源和数据列表控件。这使数据源中的任何更改得以在数据列表控件中也被更新。
      

  7.   

    Dataset是和数据库断开的,你只在FrmTemp_Load()里填充了一次,虽然数据库更新了,由于更新后你没有再次填充,所以Dataset的内容还是原来的!!
      

  8.   

    TO:kinglht(爱新觉罗至尊宝) 
          如果我直接更新DataSet,不是可以达到和再次填充一样的效果吗?
    这一句话 “this.Dst.Tables["Users"].Rows.Add(row);”不是在更新DataSet吗?“ this.DtAdpUsers.Update(this.Dst,"Users");”//数据写回数据库中。      
          我出的问题是DataSet 更新时的数据不对。如果Form启动后,我单击button 3次的话,DataSet 里添加了3条一样的记录(内容是第一次单击时的数据),而数据库里的数据正确。
      

  9.   

    To robin_xin_xin(鳄鱼宝宝):
    你的Fill方法是不是应该这样写啊:
    private void FrmTemp_Load(object sender, System.EventArgs e)
    {
    this.DtAdpUsers.Fill(this.Dst,"Users");
    }
      

  10.   

    你设断点跟踪一下,可能是你没有再次绑定DataGrid的问题!就是说Dataset虽然更新了,但DataGrid没有更新,所以你看到的是一样的数据!
    在数据库中,不可能有两条主健相同的数据,在Dataset中也一样!!