PDA

View Full Version : سوالاتی در مورد Master/Detail



ICEMAN
چهارشنبه 04 اردیبهشت 1387, 09:01 صبح
سلام ...
چند تا Table دارم که با هم در رابطه هستن M/D ( از توی خود دلفی ) حالا اگه یه رکورد از بانک Master پاک بشه همه Detail هاش میمونه

چه راهی پیشنهاد میکنید برای پاک کردن Record ها در Table های m/d ؟
اگر نیاز به جستجویی بر روی یکی از Table های Detail باشه مثلا یه خونه به عنوان Table ,Master
و مالکین این خونه به عنوان Detail ....
حالا اگه بخوایم دنبال اسم یه مالک بگردیم و ببینیم زمینش کدومه چه کار باید کرد؟


با تشکر

vcldeveloper
چهارشنبه 04 اردیبهشت 1387, 10:21 صبح
برای حذف اتوماتیک رکوردهای جدول Detail زمانی که رکورد مربوط به آنها از جدول Master حذف میشه، می تونید از قابلیت های خود بانک اطلاعاتی استفاده کنید، مثلا SQL Server، و Access هر دو قابلیت Cascade Deleting دارند که با فعال کردن آن در هنگام ایجاد Relationship بین جداول، خود بانک اطلاعاتی عمل حذف رکوردهای مربوطه از جدول Detail را برای شما انجام میده.


حالا اگه بخوایم دنبال اسم یه مالک بگردیم و ببینیم زمینش کدومه چه کار باید کرد؟
می تونید با استفاده از JOIN یک کوئری از هر دو جدول بگیرید. درباره JOIN زیاد بحث شده، بخصوص در بخش SQL Server.

ICEMAN
چهارشنبه 04 اردیبهشت 1387, 11:26 صبح
من ارتباط های M/D رو توی خود دلفی ایجاد کردم
چطور می تونم Cascade Deleting رو تو دلفی انجام بدم
منظورتون رو از Join نفهمیدم میشه بیشتر توضیح بدید

vcldeveloper
چهارشنبه 04 اردیبهشت 1387, 11:45 صبح
من ارتباط های M/D رو توی خود دلفی ایجاد کردم
باید این ارتباط رو در سطح بانک هم انجام بدید.


چطور می تونم Cascade Deleting رو تو دلفی انجام بدم
خیلی کار جالبی نیست که بخواید در سطح برنامه خودتون همچین کاری بکنید. در هر حال، می تونید در رویداد OnAfterDelete مربوط به جدول Master کد مربوط به حذف رکوردهای جدول Detail رو بنویسید.


منظورتون رو از Join نفهمیدم میشه بیشتر توضیح بدید
توضیح داده شده، شما کلمه JOIN را در بخش SQL SERVER جستجو کنید.