PDA

View Full Version : سوال در مورد transaction



miladr
دوشنبه 17 دی 1386, 15:06 عصر
من دو تا کلاس نوشتم تو یه فضانام که هر کدوم یک تابع دارن که یکی به table1 و دیگری به table2 داده وارد می کنه.در واقع استفاده از DAL.
تو برنامه یه نمونه از هر کدوم از این کلاس ها میسازم و متد insert اونا رو فرا خونی می کنم
مسئله اینجاست که این دو متد یا باید هر دو اجرا شه یا هیچکدوم اجرا نشه.این رو چطوری میشه با transaction پیاده سازی کرد.

رها
دوشنبه 17 دی 1386, 16:13 عصر
به جای نوشتن دو تابع در دو کلاس یک تابع توی یکی از اونها بنویس که هر دو کار رو انجام بده.
در ADO.NET می شه رو connection تراکنش تعریف کرد.



SqlConnection n = new SqlConnection();
SqlTransaction tr= n.BeginTransaction();
//do anything
tr.Commit();

miladr
دوشنبه 17 دی 1386, 22:17 عصر
رها جان مرسی از جوابت.الانم همین کار رو می کنم اما این دو تابع بعضی مواقع جدا از هم هم اجرا میشن.می خواستم دوباره کاری نشه.

hamedgh
سه شنبه 18 دی 1386, 11:26 صبح
وقتی جدا از هم اجرا می شوند نمی توانی از تراکنش ها استفاده کنی
مگر اینکه دستی چک کنی اگر اولی موافقت امیز بود دومی اجرا شود
اگر دومی موفقیت امیز نبود اولی پاک شود