PDA

View Full Version : درج در جدول واسط در ارتباطات چند به چند جدول ها



misagh1370
چهارشنبه 05 تیر 1392, 14:27 عصر
سلام
دوستان پروژه ی من به این صورته که چند شرکت دارم و تعدادی پرسنل .هر شرکت چند پرسنل دارد و هر پرسنل در چند شرکت میتواند کار کند.پس ارتباط جدول هایم چند به چند میشود.من با درج اطلاعات در جدول شرکت ها و همچنین پرسنل مشکلی ندارم.با درج اطلاعات در جدول واسط مشکل دارم.لطفا هر کس کدی در این رابطه داره راهنمایی کنه.ترجیحا به زبان vb.net باشه.دوستان خیلی عجله دارم.لطفا راهنمایی کنید:افسرده:

poorman
چهارشنبه 05 تیر 1392, 16:31 عصر
برای هر شرکت یک کد در نظر بگیر ( primarykey ) برای هر شخص هم یک کد اونم ( primarykey )
توی جدول واسط فقط کافیه این دو تا کد رو با هم وارد کنی
مثلا پرسنل شماره 10 ، توی شرکت شماره 3 کار میکنه

این دو تا کد با هم دیگه باید (primarykey) باشن که برنامت توی ثبت اطلاعات ارور نده

به همین صورت جدولت رو پر میکنی و بعدش با دستورات sql به راحتی میتونی اطلاعات رو بازیابی کنی

misagh1370
پنج شنبه 06 تیر 1392, 01:21 صبح
poorman:جداولم رو به همین ترتیب درست کردم.اما توی کدنویسی برای درج در جدول واسط مشکل حسابی دارم.جدول واسط من دوتا فیلد داره که هر دو هم کلید اصلی هستند .اما درج در این جدول واسط مثل درج در یک جدول معمولی نیست چون فیلدهای این جدول حکم کلید خارجی از جدول اصلی هم دارند.امیدوارم منظورم رو متوجه بشین.خواهش میکنم راهنماییم کنید.

poorman
پنج شنبه 06 تیر 1392, 05:13 صبح
بین هیچ چیزش مشکل نیست
یه راه حل بهت میدم
یه combobox بذار ، بعد اسامی شرکت هایی که داری رو از طریق SQL ارتباط بده باهاش ، ینی وقتی برنامه ران میشه اسم شرکت هایی که ثبت شده رو داخل combobox بریزه
بعدش پرسنل که خواستی اضافه کنی ، اطلاعات پرسنل رو علاوه بر اینکه توی جدول پرسنل میریزی ، کد پرسنل + کد شرکت رو توی جدول واسط میریزی
به اینصورت که از توی combobox اسم شرکت رو انتخاب میکنی ، کدش رو از SQL در میاری ، و با کد پرسنل ثبت میکنی
دستور جستجو توی جدول رو هم که توی اون پست دیگه نوشتم !!! یکم خلاقیت به خرج بده ، اصلا سخت نیست

misagh1370
پنج شنبه 06 تیر 1392, 13:22 عصر
پورمن گرامی من تو کد نویسی مشکل دارم من تا حالا واسه کلید خارجی کد ننوشتم.خواهش میکنم اگه فایل آموزشی داری یا تکه کد مشابه بهم بده ممنون میشم. منم دقیقا همین کارا رو واسه برنامم انجام دادم در واقع دو کومبو گذاشتم که یکی نام شرکت هامه یکی هم کد ملی پرسنلم که هنگام لود شدن فرم اطلاعات رو از جدول خودشون نمایش میدن .اما نمیدونم چطور این اطلاعات رو توی جدول واسطم که هردو فیلد کلید خارجی هستند ثبت کنم.من رو از راهنماییتون بی بهره نذارین:افسرده:

h_a_m_i_d
پنج شنبه 06 تیر 1392, 14:52 عصر
با سلام داداش فرقی نداره با دیگر فیلدها فقط باید اطلاعات حتما تو دو تا جدول وجود داشته باشه
یعنی کد پرسنلی و شرکت باید وجود داشته باشه
اگر نباشه خطا بوجود میاد
مگر نه در کدنویسی هیچ تفاوتی بین اونها نیست

misagh1370
پنج شنبه 06 تیر 1392, 15:52 عصر
دوست گرامی من یه درج معمولی واسش نوشتم این خطا رو میده کد نویسی واسه کلید خارجی فرق داره حتما:
the insert statement conflicted with the forigenkey constraint "fk-estekhdam-employee
,the conflict occured in database"poject1",table"dbo.employee
column"mellicodepersonel
.the statement has been terminated

h_a_m_i_d
پنج شنبه 06 تیر 1392, 16:08 عصر
داداش بدون کد نمیشه نظر داد ولی هیچ تفاوتی وجود نداره شما تو ساخت بانک اطلاعاتی یا کد ثبت اشتباهی مرتکب شدید

misagh1370
پنج شنبه 06 تیر 1392, 16:32 عصر
اینم کد ثبتم:
sqldataadapter1.insertcommand.parameter.item(0.val ue=val(combo1.valuemember
sqldataadapter1.insertcommand.parameter.item(1.val ue=val(combo2.valuemember
برادر من کد درجم مشکلی نداره واسه جدول شرکت وپرسنلم درست کار میکنه ولی واسه جدول واسط مشکل دارم.لطفا اگه تکه کد مشابه یا کدنویسی برای ارتباط چندبه چند دارین بهم بدین ممنون میشم

sinaexample
پنج شنبه 06 تیر 1392, 16:38 عصر
نوع فیلدهات باهم یکی هستن؟؟؟ اگه یکی نباشن این اخطار رو میده یعنی مثلن نوع فیلد کد ملی در هر سه جدول باید از یک نوع باشه

h_a_m_i_d
پنج شنبه 06 تیر 1392, 17:49 عصر
داداش شرمنده وقت جدا کردنش رو ندارم ولی اگه فکر میکنید فرقی بینشون وجود داره ما ندیدیم تا حالا شما پیدا کردید به ما هم بگید.

misagh1370
پنج شنبه 06 تیر 1392, 18:44 عصر
آره نوع فیلدهام یکیه.من اگه بلد بودم که خودم مینوشتم ونمی پرسیدم همه ی پروژم رو انجام دادم اما توی درج در جدول واسط مشکل دارم.به هرحال دوستان اگه کسی جداولی با ارتباط چند در چند داره کد درجش رو بهم بده ممنون میشم.:ناراحت:

mohsen22
پنج شنبه 06 تیر 1392, 19:11 عصر
یه مثال کوچولو اگر بود تا حالا همه مون جواب گرفته بودیم می رفت پی کارش!
دوست عزیز misagh1370 حداقل خودتون همت می کردید و یه نمونه کوچولو از برنامه تون به همراه بانک میزاشتین !

misagh1370
پنج شنبه 06 تیر 1392, 23:19 عصر
بابا اگه کسی واسه جدول واسط در ارتباط چند به چند کد درجی نوشته کدش رو واسم بفرسته تا بتونم واسه پروژم ازش کمک بگیرم.یک عمر ممنوووووووووووووووووووووو ووووون میییییییییییییشم.:عصبانی++:

misagh1370
جمعه 07 تیر 1392, 14:47 عصر
دوستان عزیز از راهنمایی همه تون کمال تشکر را دارم .خدارو شکر مشکل درجم با راهنمایی شما مهندسین گرامی حل شد.شما درست گفتین درج در جدول واسط فرقی با باقی درج ها نداره.مشکل من در تبدیل نوع داده ها بود که sinaexampleبهش اشاره کرده بود.
سپاس فراوان:تشویق: