PDA

View Full Version : سوال: مشکل در درج اطلاعات در جدول دارای Relation



mona mahmoudi
دوشنبه 28 مرداد 1392, 18:09 عصر
سلام
من در sql دو جدول و یک جدول relation بین این دو جدول را ایجاد کردم.برای هر کدام هم یک پروسیجر برای insert کردن در آنها نوشتم.
بعد در net. با استفاده از متدها و constructor ها عملیات درج را انجام می دهم اما مشکلی که وجود دارد این است که درج در هر دو جدول انجام می شود ولی در کلیدهای جدول relation مقدار Null قرار می گیرد با ذکر این موضوع که در هر دو جدول id که از نوع Guid می باشد مقدار می گیرد ولی این مقدارها به جدول Relation انتقال پیدا نمی کند.
اگر امکانش هست برای حل این مشکل کمک کنید.

nice_boy_a
دوشنبه 28 مرداد 1392, 23:33 عصر
سلام.
همچین یه خورده قضیه رو باز کن:لبخند: (با جواب دادن سوالای زیر)

در کل 3 تا جدول داری، درسته ؟
جدول سوم شامل کلیدهای اصلی جدول اول و دومه ؟
داده تو جدول اول و دوم ثبت میشه ولی تو جدول سوم ثبت نمیشه، درسته ؟
نوع Guid چی هست ؟ از نوع های SQL که نیست ؟ :لبخند:

mona mahmoudi
سه شنبه 29 مرداد 1392, 11:12 صبح
در مورد 3 سوال اول که پرسیدید جواب درسته ولی در مورد سوال آخر باید بگم Guid همون uniqueidentifier هست که توی net. نوع اون Guid میشه.
کلا با Debug کردن برنامه متوجه شدم در موقع اجرای برنامه مقدار ID {00000000-0000-0000-0000-000000000000} System.Guid قرار میده و بعد که برنامه کامل به پایان میرسه توی sql به دو جدول اول مقدار id رو به صورت درست( نه null و نه 0) اختصاص میده واسه همینه که جدول سوم مقدار null میگیره .
اگر میدونید چطوری میتونم حلش کنم لطفا کمک کنید.
تشکر

nice_boy_a
سه شنبه 29 مرداد 1392, 21:01 عصر
اگه به دو جدول اول مقدار id رو درست میده پس مشکل کجاست ؟
وقتی مقدار رو درست میده همون مقدار رو واسه جدول سوم استفاده کن! تــــــــــــرمز!!! :لبخند: جدول سوم رو چه جوری مقدار میدی ؟ اوتوماتیک ؟ یعنی بلافاصله بعد از اینکه دو جدول اول رو مقدار دادی؟ یا به صورت دستی و جدا از دو جدول دیگه؟
اگه بلافاصله باشه که نباید مشکلی باشه، شما همون مقداری رو که به جدول اول و دوم میدی، همون مقدار رو به جدول سوم بده.
و اگه به صورت دستی میخوای جدول سوم رو مقدار بدی، اول باید از تو جدول اول و دوم،کلید های اصلی رو select بزنی بعد به جدول سوم اضافه کنی.

mona mahmoudi
چهارشنبه 30 مرداد 1392, 16:12 عصر
به صورت اتوماتیک مقدار میدم یعنی همون موقع که داده ها در جدول اول و دوم ثبت میشه id هاشون توی جدول سوم ثبت میشه.
ولی همون طور که در پست قبلی گفتم در #C در موقع درج در جدول اول و دوم id رو 0 در نظر میگیره بعد همون صفر یا null رو به جدول سوم تخصیص میده ولی بعد که برنامه کار ثبت رو انجام میده و من توی Sql میرم داده های جدولم رو refresh میکنم id توی جدول اول و دوم مقدار درست میگیره ولی در جدول سوم همون 0 باقی میمونه.

nice_boy_a
پنج شنبه 31 مرداد 1392, 11:52 صبح
به صورت اتوماتیک مقدار میدم یعنی همون موقع که داده ها در جدول اول و دوم ثبت میشه id هاشون توی جدول سوم ثبت میشه.
ولی همون طور که در پست قبلی گفتم در #C در موقع درج در جدول اول و دوم id رو 0 در نظر میگیره بعد همون صفر یا null رو به جدول سوم تخصیص میده ولی بعد که برنامه کار ثبت رو انجام میده و من توی Sql میرم داده های جدولم رو refresh میکنم id توی جدول اول و دوم مقدار درست میگیره ولی در جدول سوم همون 0 باقی میمونه.

جلل الخالق:لبخند: همچین چیزی نداشتیم!
در موقع درج در جدول اول و دوم وقتی id رو 0 در نظر میگیره، یعنی یه جای کارت میلنگه! ترتیب کدهاتو بررسی کن، یه بار برنامتو با استفاده از breakPoint چک کن! و در صورت موفق نشدن کدتو بزار ببینم میتونم کمکت کنم یا نه.

arefba
پنج شنبه 31 مرداد 1392, 12:06 عصر
سوالت رو باید یه خورده عمومی تر کنی و بعدش توی گوگل جستجوش کنی همین

mona mahmoudi
پنج شنبه 31 مرداد 1392, 14:14 عصر
باشه چک میکنم دوباره اگه نشه احتمالا همین امروز کد رو میزارم ببینید