، فرض کنیم در بانک اطلاعاتی موجودی ما 3 مداد است و برنامه ای داریم که 2 کاربر در شبکه برای فروش از ان استفاده میکنن و به دیتابیس وصل میشوند .درصورتی که هر دو کاربر همزمان دستور فروش 2 مداد را بدهند چه اتفاقی رخ می دهد ؟ آیا sql بصورت اتوماتیک این مشکل را مدیریت میکنه ؟ یعنی یک یوزر میتونه 2 مداد را بفروشه و یوزر بعدی نمیتونه ؟ اگه جواب مثبته آیا با این روش کار حل می شود :
try
{
1- باز کردن بانک
2- بدست اوردن تعداد مداد موجود // تعداد =3
3- کسر کردن تعداد فروش از تعداد موجود و اپدیت بانک با تعداد جدید // 3-2=1
}
catch
{
message :تعداد اشتباه است
}
آیا برای یوزر اول دستورات اجرا می شود و برای یوزر دوم پیام نمایش داده می شود ؟!
خود مایکروسافت که روش پیچیده دیگه ای را گفته :
https://msdn.microsoft.com/en-us/library/aa0416cz%28v=vs.110%29.aspx