با سلام.
من موقعی که کاربر میخواد Insert کنه راحت میتونم از ثبت داده تکراری جلوگیری کنم . ولی موقع ویرایش باس چیکار کنم ؟ امکان داره کاربر یک نام رو جوری تغییر بدع که دقیقا مثل قبل باشه .
البته بگم که دارم از EntityFramework استفاده میکنم .
باس قبل از ثبت یک any بزنید بررسی کنید اگر نبود ثبت کنید
مهندس این برای ویرایشو میگه بعدش میشه یه نمونه کد از همینی که میگید به ما نشون بدید
بله منظور من بعد از ویرایش بود .
وگرنه موقع Insert که مشکلی نیست.
باید برنامه رو به گونه ای مدیریت کنی که نتوان کلید اصلی را تغییر بدی مثلا رکوردی که قرار است ویرایش بشود تمام فیلدهاش قابلیت ویرایش داشته باشد به جز فیلدهای کلید اصلی
اصلا بحث فیلد اصلی نیست دوست من .
فیلد اصلی که به صورت اتوماتیک جنریت میشه .
مثلا نام سالن (که تویه برنامه ی من نباید تکراری ثبت بشه )
امکان داره یوزر موقع ویرایش نامی مشابه نام های ثبت شده قبلی وارد کنه .
مثال :
سالن 1
سالن 2
سالن 3
حالا کاربر بیاد و سالن 3 رو ویرایش کنه و اسمش رو بزاره سالن 1 .
این رو چطور موقع ویرایش جلوش رو بگیرم.
این چیزی که شما دارید میگید دقیقا مفهوم کلید اصلی هست یعنی مثلا نام سالن 3 باید منحصرفرد باشه تا تکراری ثبت نشه مثل کد ملی که یک فیلد یونیک هست اگه این فیلد کلید کنی مشکل حل میشه یه راه حل دیگه هم اینه که یه کوئری روی این ستون از db بزنی یعنی قبل از اینکه متد update فراخوانی کنی مثلا یه لیست از نام های سالن بگیری و بعد مقایسه کنی که فیلد مورد نظر توی لیست هست یا نه اگه بود یعنی فیلد مورد نظر موجوده و داری تکراری ثبت میکنی
یه متد reader ازدیتا بیس بزار که اگه مشابه داشت و read شد خطا بده
ما نمیفهمیم چی میگی اگه میشه قشنگ بگو و طرز استفادشم بگو اگر میشه ممنون میشم
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)