System.Data.VersionNotFoundException: 没有要访问的 Original 数据。
   在 System.Data.DataRow.GetOriginalRecordNo()
   在 System.Data.DataRow.GetRecordFromVersion(DataRowVersion version)
   在 System.Data.DataRowView.get_Item(String property)
多线程读取datatable的时候出现了这个异常。这个问题怎么解决。谢谢

解决方案 »

  1.   

    既然你确定了是多线程导致的问题,那么对DataTable的读写进行同步就可以了。
      

  2.   

    已经同步了。
    DataView rows=null;
                    
                    lock (atas.ataTable)
                    {
                        rows = new DataView(atas.ataTable, where, slp.Order, DataViewRowState.CurrentRows);
                    }
     if (rows != null)
                    {
    string temp=row["xxxxx"].ToString()
    }
    ===========================================
    string temp=row["xxxxx"].ToString() 这里报异常。如果把锁死将所有操作全部括住的话会不会降低效率。