PDA

View Full Version : انتخاب از جدولهای پدر و فرزند در sql با زبان #c



bety ahmadpour
چهارشنبه 06 شهریور 1392, 20:54 عصر
سلام
من یه مشکل ساده ولی اعصاب خوردکن دارم
دو تا جدول دارم و چون می خوام با gridEX کار کنم مجبورم بینشون relation بزنم پس یکی پدر(جدول درخواست ها) و دیگری فرزند است (جدول مصارف درخواست )و رابطه یک به چند است(ستون درگیر رابطه شماره درخواست است) ولی من هر وقت می خوام برای یه شماره درخواست در جدول درخواست ها چندتا مصارف ایجاد کنم (شماره درخواست در جدول مصارف رو تکرار کنم)وقتی sql data adapter می خواد توی دیتاست جدول درخواست رو پر کنه خطا می ده و میگه قیدهای مربوط به unique,nonnull,foreign key رعایت نشده شماره درخواست کلید خارجی نیست و میتونه null باشه و من unique نذاشتم چی کار کنم این خطا رو نگیره

واقعا ممنون میشم جواب بدید :گریه:

محمد سلیم آبادی
چهارشنبه 06 شهریور 1392, 23:59 عصر
وقتی sql data adapter می خواد توی دیتاست جدول درخواست رو پر کنه خطا می ده و میگه قیدهای مربوط به unique,nonnull,foreign key رعایت نشده شماره درخواست کلید خارجی نیست و میتونه null باشه و من unique نذاشتم چی کار کنم این خطا رو نگیره
مطالبتون با هم در تناقض ان.
شما زمانی میتونید یک رابطه ایجاد کنید که یک طرف کلید Unique باشه. پس وقتی جدول درخواست والد هست حتما کددرخواست هم Unique خواهد بود. پس چگونه است که میگوید شماره درخواست Unique نیست

bety ahmadpour
پنج شنبه 07 شهریور 1392, 09:30 صبح
خب پس من چطوری می تونم رابطه یک به چند را در #c پیاده سازی کنم وقتی مجبورم به خاطر gridEX
relation بزنم ؟

محمد سلیم آبادی
پنج شنبه 07 شهریور 1392, 13:54 عصر
اینها با هم منافاتی ندارن.
وقتی یک relationship ایجاد میکنید در واقع داده های جدول Child را مقید میکنید که تنها از داده هایی در range جدول Parent استفاده کنن.
در کل من چندان منظورتون رو نمگیرم. اگر بتونید Schema و ساختار جدولتون رو اینجا قرار بدین همراه با اون دستور INSERT که منجر به Error میشه. شاید بشه کمکی کرد.

bety ahmadpour
پنج شنبه 07 شهریور 1392, 15:23 عصر
سلام
من اینجا دوتا جدول فرزند دارم مصارف سال و سند (yearusesofrqs , docusesofrqs)جدول پدر هم درخواست(request) است برای insert کردن هیچ مشکلی وجود نداره ولی برای select کردن از هر سه جدول اگه توی یکی از جدولهای فرزند شماره درخواست (yrqsnum یا drqsnum)بیش از یکبار تکرار شده باشه خطا می ده خطا هم همونی است که در اولین سوال گفتم
من برای شما تصویر 3 جدول ،کدی که نوشتم و دیتاست رو توی فایل paint فرستادم

ممنون میشم کمکم کنید بتونم این رابطه یک به چند رو پیاده سازی کنم109893

محمد سلیم آبادی
پنج شنبه 07 شهریور 1392, 19:24 عصر
متاسفانه از تصاویر اطلاعاتی بدست نمیاد مثل کلید خارجی.
ضمنا فکر کنم سوالتون رو در #C بپرسین بهتر باشه. چون ظاهرا مشکلتون بر میگرده به ویژوال استادیو.
چرا که هنگام Select کردن از جداول پیغام خطاهایی که گفتین رخ نمیده.

bety ahmadpour
پنج شنبه 07 شهریور 1392, 19:36 عصر
من کلید خارجی در نظر نگرفتم و خطا رو هم در تصویر ششم نشون دادم

به هر حال خیلی ممنون از اینکه وقت گذاشتید