PDA

View Full Version : مشكل با Transaction



el_abdollahi
پنج شنبه 10 مرداد 1387, 03:19 صبح
سلام،
توي پروژه 3 مرحله دارم كه در هر مرحله كاربر اطلاعاتي رو وارد ميكنه و در مرحله آخر اونها رو تاييد ميكنه .
براي اين كار مي خوام از Transaction استفاده كنم.
يك كلاس پايه دارم كه كانكشن و شيء Transaction رو به صورت Public اونجا تعريف كردم و كلاس هاي ديگه از اون ارث ميبرن.
در مرحله اول پس از اينكه كاربر دكمه next رو زد ، در تابع Insert وجود در كلاس اون جدول كد زير رو گذاشتم :

trans = Connection.BeginTransaction()
insertCmd.Transaction = trans
و در تابع Insert ساير جداول كد زير رو :
insertCmd.Transaction = trans
و هنگامي كه كاربر در آخرين مرحله موافقت خود را اعلام مي كنه كد زير بايد اجرا بشه كه نميشه و خطاي Object refrence notset ... رو ميده.
نكته ديگه اينكه شيء Trans در كلاسهاي به جز اولين كلاس nothing هست. (تنها در كلاس اول مقدار داره).
مگه نه اينكه چون Trans يك متغير Public هست پس همه جا بايد مقدارش رو داشته باشه؟
با اين حال داده ها در جدول اول اضافه نميشه ولي در جداول ديگه اضافه ميشه.
لطفا من رو راهنمايي كنيد.(نميدونم چرا فكر ميكنم در كل موضوع رو خوب نفهميدم؟؟؟؟)

Behrouz_Rad
پنج شنبه 10 مرداد 1387, 06:48 صبح
برادر، باید به دید وب نگاه کنی...
داده هایی که در چند مرحله دریافت میشن رو در Cache نگهداری کن.
Transaction نیاز به Connection به دیتابیس داره و جدول رو قفل می کنه و در صورت نیاز بهش بهتره که مدیریت Transaction ها رو در SP انجام بدی.
در کاری که قصد داری انجام بدی، Transaction ها هیچ نقشی ندارن.

موفق باشید.