PDA

View Full Version : یک سوال در مورد دیتا بیس و Ado.net



peymannaji
چهارشنبه 04 اردیبهشت 1387, 22:26 عصر
سلام دوستان عزیز

من یک پروژه بهم خورده خودم چند راه تو ذهنم هست اما گفتم با شما عزیزان هم مشورت کنم .
موضوع از این قرار هست که یک دیتا بیس بهم دادن که 50 عدد جدول همانند داره . حال اینو رو هم ندارم که کل جدول ها رو یک کاسه کنم چون یجورایی دردسر هم داره ... حالا یک قسمت از پروِژه نیاز به این داره که من کل اطلاعات این جداول را در یک دیتا گرید نمایش بدم . بنظر شما بهترین راه چی هست ؟ مسئله اینه که نمیدونم چه راهی برای پر کردن دیتا ست بهتره ...

دوستان رهنمایی بفرمایند . با تشکر

eyes_shut_number1
چهارشنبه 04 اردیبهشت 1387, 22:59 عصر
مسله همیشگی
باید با چند تا جوین مشکلتو حل کنی

peymannaji
چهارشنبه 04 اردیبهشت 1387, 23:17 عصر
خوب دوست من مسئله اینه که اون 50 تا جدول هیچ ارتباطی با هم ندارن که بخوام join کنم ...
ببینید من بهترین راه رو از نظر شمای برنامه نویس میخوام بدونم فکر کنید شما جای بنده هستید چه میکنید ؟

eyes_shut_number1
چهارشنبه 04 اردیبهشت 1387, 23:36 عصر
خوب اگه ریلیشن نداره پس مجبوری هر کدوم توی یه دیتاتبل بریزی
ولی حوب یگه توی یه گرید دیو باشه اگه هر جدولت 4 تا فیلدم داشته باشی گریدت بیشتر از 200 فیلد خواهد داشت.من که چنین چیزی ندیدم

peymannaji
پنج شنبه 05 اردیبهشت 1387, 11:59 صبح
ببینید همانطور که گفتم 50 تا جدول هست که عینا از نظر تعداد فیلد نام فیلد دیتا تایپ مانند هم هستند ... مثلا یک جدول هست مال گروه کامپیوتر که نام اساتید و مشخصات اساتید کامپیوتر رو زده یک جدول دیگه هست به نام معماری که نام اساتید و مشخصاتشون رو زده و الی آخر ...
در واقع اگر هر جدول 5 تا فیلد داشته باشه میخوام تو گرید هم 5 تا ستون نمایش داده بشه بطوری که در قالب این 5 تا ستون بیاد مشخصات کل اساتید رو که در 50 تا جدول هست نمایش بده ...

peymannaji
جمعه 06 اردیبهشت 1387, 13:02 عصر
سلام دوباره ...
ببینید من اومدم با دیتا آداپتور 3 تا جدول اضافه کردم اما مشکل اینه که میاد تمام فیلدهای 3 تا جدول رو در کنار هم میزاره . همانطور که گفتم این جدول ها از هر نظر یکسان هستند تنها تفاوت آنها در اطلاعات دورن آنهاست ... فرض کنید جدول های من هر کدوم 5 تا فیلد داره حالا اگه من بخوام اطلاعات هر 3 جدول رو در قالب همین 5 فیلد زیر هم نشون بدم چیکار باید بکنم . لطفا کمک کنید خیلی گیرم ...

با تشکر

yasser_beiraghi
شنبه 07 اردیبهشت 1387, 11:53 صبح
با سلام
چرا از Union استفاده نمی کنید ؟ درسته 50 تا table رو با هم Union کردن یه کم وقت گیره ولی در عوض یه دونه DataTable دارید که کل اطلاعات هر 50 تا table تو اون Fill شده و راحت با یه DataGrid نمایش داده میشه.

peymannaji
شنبه 07 اردیبهشت 1387, 21:42 عصر
ممنون دوست عزیز ...

علیرضا مداح
شنبه 07 اردیبهشت 1387, 21:59 عصر
سلام ،
دوست عزیز توجه کنید ، شما میفرمایید که هر 50 جدول شما از لحاظ Structure یکی هستند و تنها دیتاهای مربوط به آنها تفاوت دارد ، یک روش اینست که شما تنها یک جدول بسازید و در آن فیلدی به نام TypeID قرار دهید که با جدول دیگری به طور مثال با نام Types که شامل انواعی از قبیل گروه کامپیوتر ، معماری و .. میباشد ریلیشن دارد ، در این حالت برای هر رکورد یک TypeID مشخص میشود که نمایانگر اینست که این رکورد مربوط به کدام گروه است ، برای بدست آوردن رکوردهای یک گروه نیز میتوانید از یک Stored Procedure ساده استفاده کنید.

peymannaji
شنبه 07 اردیبهشت 1387, 22:53 عصر
پست 7 : این روش مد نظرم هست اما زمان گیر هست ...


پست 9 : این روش راستش با اون حجم رکوردی که وجود داره کار بسیار رمان گیری هست ...


باز هم فکر کنید ببینید آیا راه بهتری هست یا خیر ؟

علیرضا مداح
شنبه 07 اردیبهشت 1387, 23:12 عصر
پست 7 : این روش مد نظرم هست اما زمان گیر هست ...


پست 9 : این روش راستش با اون حجم رکوردی که وجود داره کار بسیار رمان گیری هست ...


بله ، درست است ، اما ایجاد 50 تیبل با ساختار یکسان منطقی نیست ، میتوانید از روشهایی همچون بهره گیری از Stored Procedureها و .... این روند را تسریع کنید.