问题描述:多线程操作datatable try catch 打印错误日志找到具体异常原因和所在代码行。提示的错误有时候都不尽相同;有“内部索引损坏”、“在位置0处没有任何行” 等等;
解决方法:
//你要操作的 DataTable
DataTable dtb = new DataTable();
lock(dtb.Rows.SyncRoot)
{
//你的DataTable处理代码
}
注:并不是所有DataTable在多线程操作是都会报错;视具体情况而定。但是为了线程安全在多线程下操作是最好加上Rows.SyncRoot锁