1
我正在使用ADO.NET2.0使用try catch塊進行批量更新,UpdateBatchSize設置爲500,我經常可以捕獲異常,但我沒有知道哪一行更新失敗,是否有辦法獲取實際失敗的行?如何跟蹤批量更新中的哪一行更新失敗
我正在使用ADO.NET2.0使用try catch塊進行批量更新,UpdateBatchSize設置爲500,我經常可以捕獲異常,但我沒有知道哪一行更新失敗,是否有辦法獲取實際失敗的行?如何跟蹤批量更新中的哪一行更新失敗
您可以使用事件RowUpdated讓行的參考:
yourAdapter.RowUpdated += OnRowUpdated;
然後:
protected static void OnRowUpdated(object sender, SqlRowUpdatedEventArgs args)
{
if (args.Status == UpdateStatus.ErrorsOccurred)
{
// Reference to row which throws error
var row = args.Row;
row.RowError = args.Errors.Message;
args.Status = UpdateStatus.SkipCurrentRow;
// Do something more
}
}