ورود

View Full Version : سوال: درج در دو جدول مرتیط به صورت هم زمان



mariakhanom
چهارشنبه 25 بهمن 1391, 10:34 صبح
سلام بر همگی

من دوتا جدول دارم
اولی شامل : کد کارجوکه کلید اصلی, نام ,نام خانوادگی,نام کاربری,پسورد...
دومی شامل : ;کد که کلید اصلیه,;کد کارجو که کلید خارجیه,مقطع تحصیلی,سال اخذ مدرک ,...
این دو جدول با هم درارتباط هستن. اول باید اطلاعات درون جدول اول پر بشه و بعد درون جدول دوم اطلاعات وارد کنم
حالا یک فرم ثبت نام دارم که کارجو توش اطلاعات بالا را پر میکنه.

زمانی که کاربر دکمه درج رو میزنه هر کدوم از اطلاعات بالا باید در جدول مربوطه به خودش در ج بشه. چطور میشه کلید اصلی کارجیی که ثبت نام کرده رو بدست بیارم تا بشه بقه اطلاعات رو در جدول دوم درج کرد:متفکر::متفکر:
این که باید از تراکنش ها استفاده کنم رو میدونم ولی اینکه چطور کلید اصلی کارجو رو بدست بیارم رو نمیدرونم.:ناراحت::ناراحت:

mariakhanom
چهارشنبه 25 بهمن 1391, 11:24 صبح
به نظر شما این کار منطقیه:

در رویداد کلیک دکمه درج

1.اول در جدول مربوط به کارجو searchشود جهت یکتا بودن نام کاربری
اگر تکراری بود پیغام به کارجو
اگر تکراری نبود
همه کارای زیر در یک ترانش انجام بشن:
اطلاعات درو ن جدول اول درج میشن بعد ی جستو جو درون این جدول براساس نام کاربری میشه و مقدار کلید اصلی برگردونده میشه
بعد از اینکه مقدار کلید اصلی از جدول اول برگردونده شد اطلاعات مربو ط به جدول دوم به همراه مقدار کلید خارجی که در مرحله قبل گرفته شد ذخیره میشن

اگر دوستانراه بهتری غیر از اضافه کردن نام کاربری و پسورد دارن ممنون میشم بگن

mariakhanom
چهارشنبه 25 بهمن 1391, 12:45 عصر
دوستان کسی نبود

mostafa.hnz
چهارشنبه 25 بهمن 1391, 12:50 عصر
سلام
اگه از entity framework استفاده کنید عملیات درج کلید خارجی به صورت خودکار انجام میشه

zahrashoja
سه شنبه 01 اسفند 1391, 00:23 صبح
اگه با انتیتی یا لینک مینویسی راحته...؟؟
خواستید کدشو بزارم

f.beigirad
چهارشنبه 02 اسفند 1391, 09:03 صبح
ممنون میشم اگه کد هارو بذارید

zahrashoja
چهارشنبه 02 اسفند 1391, 13:15 عصر
به عنوان مثال من اینجا برای سوال نظرسنجی همزمان چهار تا جواب وارد کردم ..جدول سوال Questionو جدول جواب Option .. که لازم نیس کد سوال که توی جدول جواب ها کلید خارجیه رو مقداردهی کنم ..خودش اینکارو میکنه




using (var context = new agencyEntities())
{
var poll = new Question
{
qtext = q
};
poll.Option.Add(new Option
{
otext=o1
,oid=1
});
poll.Option.Add(new Option
{
otext = o2
,
oid = 2
});
poll.Option.Add(new Option
{
otext = o3
,
oid = 3
});
poll.Option.Add(new Option
{
otext = o4
,
oid = 4
});
context.Question.AddObject(poll);
context.SaveChanges();
}

f.beigirad
پنج شنبه 03 اسفند 1391, 22:21 عصر
با عرض سلام.
میخواستم بگم اگر میشه کد فراخوانی 4 تا گزینه از جدول Items و همچنین دریافت صورت سوال از جدول Question هم قرار بدین.

باید بگم ک مثلا من توی پروژم 3 تا جدول دارم که با استفاده از کلید خارجی بهم متصلن.
جدول آزمونها exam
جدول سوالات question
جدول گزینه ها items

میخوام وقتی کاربر یکی از آزمونهارو انتخاب کرد ، سوال اول اون آزمون بهمراه گزینه هاش توی فرمم نشون داده شن.

اگر میتونید فقط طریقه نوشتن کوئریشو بگین.

با تشکر

mariakhanom
جمعه 04 اسفند 1391, 12:17 عصر
یعنی توی سطر دوم و سوم سوال توی جدول questionدرج میشه و توی سطرهای بعد گزینه های اون سوال به همراه کلید اصلی سوال توی جدول option درج میشه؟
من پروژمو با لینکیو نوشتم از همین کد باید استفاده کنم؟

zahrashoja
جمعه 04 اسفند 1391, 16:54 عصر
یعنی توی سطر دوم و سوم سوال توی جدول questionدرج میشه و توی سطرهای بعد گزینه های اون سوال به همراه کلید اصلی سوال توی جدول option درج میشه؟
من پروژمو با لینکیو نوشتم از همین کد باید استفاده کنم؟
بله درج انجام میشه ..توی انتیتی که اینطور بود .. لینکیو رو دقیقن نمیدونم ولی امتحانش ضرری نداره کدو بنویسید اگه خطایی بهش نگرفت و اجرا شد جدولاتونو چک کنید ببینید درسته یا نه

zahrashoja
جمعه 04 اسفند 1391, 16:58 عصر
با عرض سلام.
میخواستم بگم اگر میشه کد فراخوانی 4 تا گزینه از جدول Items و همچنین دریافت صورت سوال از جدول Question هم قرار بدین.

باید بگم ک مثلا من توی پروژم 3 تا جدول دارم که با استفاده از کلید خارجی بهم متصلن.
جدول آزمونها exam
جدول سوالات question
جدول گزینه ها items

میخوام وقتی کاربر یکی از آزمونهارو انتخاب کرد ، سوال اول اون آزمون بهمراه گزینه هاش توی فرمم نشون داده شن.

اگر میتونید فقط طریقه نوشتن کوئریشو بگین.

با تشکر
بنظرم اینجا باید از join استفاده کنید من join سه تا جدول با هم رو نمیدونم
میتونیدم با کد آزمون که دارین سوال رو پیدا کنین و بعد کد سوال رو بگیرین و جواب ها رو از جدول در بیارین

f.beigirad
جمعه 04 اسفند 1391, 21:30 عصر
بله.اینکارو میشه کرد ولی گفتم شاید بتونید کوئری بنویسیز ک این کارو کنه.
البته با توجه به اینکه من توی تعریف جدولام از کلید خارجی استفاده کردم , فکر نمیکنم نیازی به جوین باش