PDA

View Full Version : مشکل در همزمان شدن عمل ثبت دو کاربر در یک سیستم



Maryam_y_m
چهارشنبه 24 اسفند 1384, 10:08 صبح
در عمل ثبت سیستم، روند ثبت به این صورت می باشد:

1) ثبت یک رکورد در جدول A
2) پیدا کردن ID رکورد ثبت شده در جدول A توسط MAX ID
3) ثبت ID در جدول B

در این روند، اگر دو کاربر به طور همزمان کلید ثبت را بزنند، مورد 1 درست انجام شده و 2 رکورد به جدول A اضافه میشود ولی بند 2 برای هردوی کاربران یک ID برمیگرداند که این اشتباه میباشد. چگونه میتوانم این مشکل را رفع کنم؟
با تشکر

taherbaghal
چهارشنبه 24 اسفند 1384, 10:19 صبح
فکر کنم اگر اجازه ثبت همزمان رو به کاربران ندی بهتر از هر کاری

habedijoo
چهارشنبه 24 اسفند 1384, 11:40 صبح
سلام دوست عزیز

اگر با Sql Server کار میکنید و اگر ممکن باشد می توانید بخشی از کارتان را به تریگر بسپارید . یعنی اینکه توسط یه تریگر بیشترین مقدار را برداشته و در جدول B بنویسید .

یک تریگر را می توان طوری تنظیم کرد که هنگام اضافه شدن یک رکورد اجرا شود . وقتی شما کد تان را درون تریگر قرار میدهید هر چند تا کاربر هم بطور همزمان با هم رکورد ثبت کنند بخاطر مدیریت خود Sql Server تداخلی ایجاد نخواهد شد و تریگر شما برای تک تک رکورد ها اجرا شده و قسمت دوم کارتان به درستی انجام خواهد شد .

امیدوارم منظورم را کاملا متوجه شده باشی .

حامد مصافی
چهارشنبه 24 اسفند 1384, 13:13 عصر
سلام
شما باید از روال های ذخیره شده استفاده کنید
ما تو این بخش داریم یک کتاب ترجمه می کنیم و فصل 15 دقیقاً به همین مطلب اشاره می کنه
به زودی پاسخ سوالتونو در ترجمه ها پیدا می کنید

aliila
پنج شنبه 25 اسفند 1384, 14:46 عصر
انگار شما از تراکنشها چیزی نمیدانید

MMAASS
پنج شنبه 25 اسفند 1384, 17:30 عصر
انگار شما از تراکنشها چیزی نمیدانید

دقیقا.
این کارا رو با همین تراکنشها انجام می دن.

taherbaghal
پنج شنبه 25 اسفند 1384, 18:00 عصر
میشه درباره تراکنش ها بیشتر توضیح بدین