Обязательно ли вызывать OleDBTransaction.Rollback(), если был вызов OleDBTransaction.Begin(), затем изменение данных, в ходе к-рого возникло исключение? Т.е.
System.Data.OleDb.OleDbTransaction objTr = null;
try
{
cnShared.Open();
objTr = cnShared.BeginTransaction();
cmdDelete.Transaction = objTr;
if (dsO.HasChanges())
{
daO.Update(dsO);
dsO.AcceptChanges();
}
objTr.Commit();
}
catch (Exception exAny)
{
objTr.Rollback();
MessageBox.Show(exAny.Source);
}
finally
{
cnShared.Close();
}
Или objTr.Rollback() можно пропустить?