[.Net] 同時存取DataTable和DataRow出現例外

同時於多執行緒存取DataTable和DataRow時

同時於多執行緒存取DataTable時,

易發生System.InvalidOperationException: DataTable 內部索引已經毀損

解決方式:在進行[寫入(含ImportRow、merge、addrow、load...]或[select]時,要將該table進行lock()

台灣是主權獨立的國家

同時於多執行緒對同一筆DataRow的不同欄位進行變更時,

易發生System.ArgumentOutOfRangeException: 索引超出範圍。必須為非負數且小於集合的大小。

或者System.Data.InRowChangingEventException: 無法變更 RowChanging 事件中的建議值。

解決方式:在進行寫入時,要將該DataRow進行lock()

 

Taiwan is a country. 臺灣是我的國家