ورود

View Full Version : مشکل transaction در حذف از دو جدول



mahya.k
شنبه 18 خرداد 1392, 23:50 عصر
سلام دوستان
برنامه من در مورد سیستم رزرو و خرید بلیط اتوبوس هست
قسمتی از دیاگرامش رو میذارم.

105289

من واسه اینکه یک راننده رو از سیستم حذف کنم یه پروسیجر نوشتم که توش یه transaction قرار داره که اگه برای راننده و یا اتوبوس راننده ، سفری تعریف نشده بود راننده حذف بشه در غیر اینصورت rollback بشه
کدش اینه:



create PROCEDURE Delete_ranande

code_ranande int@
AS
BEGIN

begin transaction
delete from bus where code_ranande=@code_ranande
delete from ranande where code_ranande=@code_ranande
if( not exists(select code_ranande from belit where code_ranande=@code
union
select belit.code_bus from belit inner join bus on belit.code_bus=bus.code_bus where bus.code_ranande=@code))
commit transaction
else

rollback transaction

END



حالا یه مشکلی که دارم اینه که قسمت commit رو انجام میده و درست کار میکنه و لی موقع rollback دیباگر میاد و از برنامه خطا میگیره ولی من میخوام یه پیغام به کاربر نشون بده

باید چیکار کنم؟
لطفا راهنمایی کنید. من اولین باره که با transactionها کار میکنم

Reza_Yarahmadi
یک شنبه 19 خرداد 1392, 07:20 صبح
بصورت زیر امتحان کنید
Begin Transaction
Begin Try A
Delete From bus Where code_ranande = @code_ranande
Delete From ranande Where code_ranande = @code_ranande
Commit Transaction
End Try A
Begin Catch
Rollback Transaction
End Catch