PDA

View Full Version : استفاده از Try...Catch به جای چک کردن FK



bmanfy
پنج شنبه 06 اسفند 1388, 13:19 عصر
با سلام.
میخوام یه سط رو حذف کنم .
که یه فیلدش به عنوان FK (کلید خارجی) در یک جدول دیگه استفاده میشه .
حالا قبل از حذف باید چک بشه که توی اون جدول استفاده نشده باشه .

یه روش اینه که خوب دستی خودم بررسی کنم .
اما اگه به جای بررسی دستی بیام از Try .... Ctch استفاده کنم و به این ترتیب دیگه چک کردن هم نمیخواد .
به نظر شما کار درستیه ؟

حمیدرضاصادقیان
پنج شنبه 06 اسفند 1388, 16:06 عصر
سلام.شما وقتی یک فیلد رو به عنوان کلید خارجی در جدول دیگه تعریف میکنید یک relation نیز ایجاد میکنید در هنگام ایجاد relation شما میتونی گزینه cascade delete رو انتخاب کنی یا نکنی.اگر انتخاب کنی وقتی یک رکورد از جدول اصلی حذف میشه تمام رکوردهای متناظر اون در جدولهای زیر مجموعه نیز حذف میشه.ولی اگر انتخاب نکنی هنگام حذف بهت خطا میده که این فیلد در جداول زیر مجموعه استفاده شده دیگه نیازی نیست شما بابت کنترل اون کدی بنویسی.
فقط کافیه دستور delete رو در یک Try ..catch استفاد کنی که اگر خطا داد یک پیغام فارسی به کاربر نمایش بدی.
موفق باشید