如何根据dataset里面的表数据刷新数据 从数据库里重新获取最新数据。不是用重新查询
我的情况是这样的。 在一个窗体新增数据后。会在另一个窗体操作这些数据改变新增时候的数据状态。。但我操作完后在回到新增窗体时状态是还没改变时的状态。。所以这时候我需要一个刷新的功能

解决方案 »

  1.   

    将你的那个窗体的Activated的事件也写上你的数据绑定事件,当别的窗口关闭使当前窗口活动时自动重新绑定数据源。或者在该窗体将绑定数据源事件定义为Public类型,别的窗口添加数据后调用该窗口的数据绑定事件
      

  2.   

    sda.Update(ds);   //sda=SqlDataAdapter,ds=DataSet
    然后重新绑定
      

  3.   

    委托刷新窗体数据
    sqldatadapter更新数据
      

  4.   

    你可以这样做你的窗体:
    Form1_Load()
    {
        //绑定你的数据源
         bind_Data();
    }
    //Form1的数据绑定事件
    public void bind_Data()
    {
        //从数据库提取数据并设定DataGridView的数据源为DataSet
    }
    //打开Form2数据添加窗口
    private void btn_添加数据_Click(Object sender,EventArgs e)
    {
        //传一个this参数
        Form2 f2=new Form2(this);
        f2.Show();
    }Form2添加数据窗体
    构造函数:
    Form1 f1=new Form1();
    public Form2(Form1 frm_f1)
        {
             f1= frm_f1;
             InitializeComponent();
         }//Form2窗体添加完数据后,调用f1的数据绑定事件
    private void 添加数据()
    {
      //数据更新完毕
       MessageBox.Show("数据添加成功");
      f1.bind_Data()
    }
    以上是一种方法。另一种方法更简单
    Form1窗体的Activated事件写为:
    private void Form1_Activated(Object sender,EventArgs e)
    {
        //绑定数据源
        bind_Data();
    }这就行了,每次窗体被激活都会重新刷新数据。两种方法比较:方法一最及时,添加完数据后马上在Form1显示数据,缺点是两个窗体间传参初学者可能不会。方法二最简单,但是每次激活窗体都会重新加载数据,缺点是如果数据量大可能会造成数据库负担。
    个人推荐方法一
      

  5.   


    //Form1的数据绑定事件
    public void bind_Data()
    {
      //从数据库提取数据并设定DataGridView的数据源为DataSet
    }问题就是在这里。我要怎么样才能从数据库里提取跟dataset里面对应的最新数据来 
    因为我是新增的 没有查询语句。所以我要用数据库的数据来更新Dataset