Brian,
>I think there may be an issue with the mmBusinessObject "HandleException()" method. I've been noticiing that when I call SaveDataSet() on a business object that encounters a database exception, the existing transaction is not being rolled back. This seems to leave locks on the table.
Good find! I've just returned from vacation and am digging out from under the e-mail...it looks like the following change to HandleException would fix the situation:
else
{
this.ConcurrencyExceptionMsg = null;
if (this.AutoUseTransactions)
{
this.TransactionRollback();
}
throw e;
}pre>
I still want to throw the exception because MM .NET doesn't know how to handle it, but I do want to roll back before doing so.
Regards,
Kevin McNeish
Eight-Time .NET MVP
VFP and iOS Author, Speaker & Trainer
Oak Leaf Enterprises, Inc.
Chief Architect, MM Framework
http://www.oakleafsd.com