هنگام
درج اولین رکورد Detail تراکنش رو شروع کنید و پس از درج آخرین رکورد اون رو قطعی کنید و در صورت انصراف کاربر اون رو RollBack کنید ولی کلا این روش زیاد جالب نیست. من پیشنهاد می کنم از یک جدول موقت استفاده کنید و در انتها با یک ترا کنش اطلاعات رو به جدول اصلی منتقل کنید.
100% مخالفم !!!
شما زمانی از تراکنش استفاده میکنید که در چند جدول دارید عملیات انجام میدهید و این جداول یک ارتباط منطقی با هم دارند ؛ایضاًً در مورد مشکل ایشان این ارتباط یک ارتباط Master/Detailsهست نهایتاً به نظر این حقیر زمانی شما یک تراکنش رو آغاز می کنید که یک رکورد در
جدول Master درج می کنید و زمانی این تراکنش رو قطعی میکنید که تمام درج های مورد نظر شما در جداول Details انجام شده باشه و نهایتاً بخواهید کل تراکنش های بر روی این جداول اعمال وقطعی بشه لذا فکر نمی کنم تا زمانی که یک رکورد Master هنوز وجودش قطعی نشده لازم باشه رکوردهای Detail قطعی بشوند . نکته دیگه اینکه اگه از ترکیب ADO/SQL SERVER استفاده میکنی باید بدونی که SQL Server از Nested Transactions (تراکنش های تو در تو)پشتیبانی نمیکند. خوش باشی!!!