在一个窗体中修改数据后,主窗体用datatable重新获取数据,但是读出的仍然是修改前的数据,请问是怎么回事?

解决方案 »

  1.   

    把代码贴出来看看。确定写回数据库后,然后执行一下页面的load事件。
    this.form_load(sender,e)(如果读数据是在这个函数中)
      

  2.   

    保存到数据库没问题,我打开数据库看了,下面是读取数据的部分代码:
    mbi=new modibaseinfo();
    if(mbi.ShowDialog()==DialogResult.OK)
    {
    // 获取数据方法
    getdata();
    }protected void getdata()
    {
        if(dt_lv.Rows.Count!=0)
    dt_lv.Clear();
       
       OleDbDataAdapter adp_product =new OleDbDataAdapter("select * from [product] ",conn);
                
        adp_product.Fill(ds,"dt_lv");
        dt_lv=ds.Tables["dt_lv"];}
      

  3.   

    Have a try!protected void getdata()
    {
    if(ds.Tables.Count > 0)
    ds.Tables["dt_lv"].Clear();OleDbDataAdapter adp_product =new OleDbDataAdapter("select * from [product] ",conn);adp_product.Fill(ds,"dt_lv");
    dt_lv=ds.Tables["dt_lv"];}
      

  4.   

    Sorry!
    Sorry!protected void getdata()
    {
    if(ds.Tables.Count > 0)
    ds.Tables["dt_lv"].Rows.Clear();OleDbDataAdapter adp_product =new OleDbDataAdapter("select * from [product] ",conn);adp_product.Fill(ds,"dt_lv");
    dt_lv=ds.Tables["dt_lv"];}
      

  5.   

    if(ds.Tables.Count > 0)
    ds.Tables["dt_lv"].Rows.Clear();
    --------------------------------
    ds.Tables.RemoveAt(1);//把ds.Tables["dt_lv"]删除后再建呢
      

  6.   

    或ds.Tables["dt_lv"]=new DataTable();
      

  7.   

    由于是access数据库,在连接的时候有没有什么选项?
      

  8.   

    呵呵,要还是不行,直接把ds重新new一下再绑定