ورود

View Full Version : عدم نمایش اخطار برای حذف یک رکورد.



JaVa
یک شنبه 22 بهمن 1391, 00:42 صبح
سلام و خسته نباشید.

دوستان من در جدول اعضا می خواستم یه رکورد رو حذف کنم.

کد عضو به عنوان یک کلید خارجی برای دو جدول دیگر(جدول امانت و رزرو) قرار داده شده..

حالا من می خواستم که یه عضو رو حذف کنم و که خطای کلید خارجی رو میده حالا می خواستم بدونم

راهی وجود داره که این پیام رو نشون نده.

من برای گزارشگیری ها متفاوتی که وجود داره و به سوابق اعضا هم احتیاج دارم نمی خوام رکود مورد نظر در جداول امانت و رزرو حذف بشن

محمد سلیم آبادی
یک شنبه 22 بهمن 1391, 11:03 صبح
من برای گزارشگیری ها متفاوتی که وجود داره و به سوابق اعضا هم احتیاج دارم نمی خوام رکود مورد نظر در جداول امانت و رزرو حذف بشن
شما چند راه برای انتخاب کردن دارین.


disable کردن کلید خارجی
تنظیم خاصیت on delete روی یکی از مقادیر set null یا default

این دو عمل را میتوانید از دو طریق design و DDL انجام دهید.

JaVa
یک شنبه 22 بهمن 1391, 11:45 صبح
شما چند راه برای انتخاب کردن دارین.


disable کردن کلید خارجی
تنظیم خاصیت on delete روی یکی از مقادیر set null یا default

این دو عمل را میتوانید از دو طریق design و DDL انجام دهید.

دوست گرامی میشه یه خورده بیشتر توضیح بدی که من باید دقیقا چکار کنم ؟

محمد سلیم آبادی
یک شنبه 22 بهمن 1391, 12:19 عصر
در نرم افزارManagement Studio روی کلید خارجیتان در قسمت Object Explorer راست کلیک سپس به قسمت modify بروید. و مقدار Enforce Replication را از حالت Yes به No تغییر دهید.

msabbaghi
چهارشنبه 25 بهمن 1391, 14:32 عصر
برای این کار شما می تونین از کانسترینت ها استفاده بکنین بشرطی که ریلیشن برقرار کرده باشین.
اما این کار خارج از اصول طراحی پایگاه داده است
http://fyek.ir

JaVa
چهارشنبه 25 بهمن 1391, 14:36 عصر
برای این کار شما می تونین از کانسترینت ها استفاده بکنین بشرطی که ریلیشن برقرار کرده باشین.
اما این کار خارج از اصول طراحی پایگاه داده است
http://fyek.ir

اصلا جملتون رو نتونستم (کانسترینت ها) بخونم

لطفا نگارشش رو عوض کنید.

حمیدرضاصادقیان
جمعه 27 بهمن 1391, 00:54 صبح
سلام

برای این کار شما می تونین از کانسترینت ها استفاده بکنین بشرطی که ریلیشن برقرار کرده باشین.
اما این کار خارج از اصول طراحی پایگاه داده است
http://fyek.ir

لطفا اگر میخواهید راهنمایی کنید موارد زیر رو رعایت کنید.
1- جوابهای صحیح و مناسب ارسال کنید که کاربر بتونه پیگیری کنه .
2- لغات لاتین رو به صورت انگلیسی تایپ کنید که در خواندن آنها دچار مشکل نشویم.

ممنون

JaVa
جمعه 27 بهمن 1391, 01:24 صبح
در نرم افزارManagement Studio روی کلید خارجیتان در قسمت Object Explorer راست کلیک سپس به قسمت modify بروید. و مقدار Enforce Replication را از حالت Yes به No تغییر دهید.

سلام.

عزیز این آدرس که گفتید رو من نتونستم پیدا کنم. ولی این حالتی میشه به خاصیت Enforce Replication دسترسی پیدا کنیم و خاصیتش رو از حالت Yes به No تغییر بدیم.


جدولی که کلید خارجی وجود داره گرهش رو باز می کنیم و زیر گره Keys کلید های خارجی رو می بینیم حالا کافی که روی کلید خارجی دابل کلیک کنیم و خاصیت Enforce Replication رو از حالت yes به no تغییر بدیم.

در ضمن یه موضوع دیگه گزینه ی Enforce Foreign Key Constranit رو هم باید No بزاری. و گرنه بازم از کلید خارجی ایراد می گیره لطفا در مورد این مهم توضیح بدید و اگه اشکالی یا ایرادی داره بگید.

موفق باشید.

محمد سلیم آبادی
شنبه 28 بهمن 1391, 08:49 صبح
آدرسی که گفتم همونی بود که شما رفتین.
مشکلی نیست باید Enforce Foreign Key Constranit را از Yes به No تغییر بدهید. تا دیگه قید کلید خارجی اعمال نشه.ضمنا همانطور که قبلا گفتم میشه از طریق DDL (http://www.dotnettips.info/post/1220/%D9%81%D8%B9%D8%A7%D9%84-%D9%88-%D8%BA%DB%8C%D8%B1-%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-%D9%82%DB%8C%D9%88%D8%AF) نیز اعمال یا عدم اعمال قید کلید خارجی را کنترل کرد.