روش بعدی که این به نظر جالتره اما یه مسئله داره استفاده از Store Proc ها است که یه پروسجر به شکل زیر بنویسم :
Crete Procedure Tadd (@pid int , @pname nvarchar(20))
as
insert into Tbl Value(@pid , @pname)
البته میشه به شکل زیر هم نوشتش که قبلش تکراری بودن رو بررسی کنه :
.
.
as
if Exsists(select id From Tbl Where id = @pid)
یک کد خطا برگردونیم
else
insert into .......
البته اینجا دیگه نمیدونم چه طوری باید این خطا رو توسط برنامه دریافت کنم ؟
خوب یه چیزی که تو این روش و روش قبلی هست اینه که (البته برای اصلاح کردن یک رکورد)
فرض کنیم کاربر میخواد فردی با کد 12 رو تغییر بده .
شروع میکنه به وارد کردن اطلاعات جدید اما هنوز برای انجام ثبت قادام نکرده .
کاربر دیگری در همین حین زودتر از اون این کد رو تغییر میده .
و به کاربر دیگه شخصی جدید رو با همین کد ثبت میکنه .
حالا تاره این کاربر اولیه دکمه ی ثبت رو میزنه . چه اتفای میافته ؟ خوب معلومه که اطلاعات کس دیگری اشتباها تغییر میکنه .
حالا سوال من ایا تو برانامه ها تحت شبکه این امر رو کنترل میکنند با نه این دیگه به عهده ی کاربران سیستم هست .
ایا رکوردی رو که در حال تغییره قفل میکنند ؟ چهطوری ؟