PDA

View Full Version : 3 جستجوی پی در پی c#از access



elahem
جمعه 20 مهر 1386, 00:20 صبح
سلام
من برنامه ای می خوام که 3 مرحله جستجوی پی در پی انجام بده

c# یک بانک اطلاغاتی از accessبخونه و مثلا در مرحله 1 اسامی که اسمه علی داره پیدا کنه
در مرحله2 مثلا اونایی که شماره شناسنامه انها 10 داره پیدا کنه و به همین ترتیب جستجو
محدود بشه

mehdi.mousavi
جمعه 20 مهر 1386, 00:44 صبح
سلام
من برنامه ای می خوام که 3 مرحله جستجوی پی در پی انجام بده

c# یک بانک اطلاغاتی از accessبخونه و مثلا در مرحله 1 اسامی که اسمه علی داره پیدا کنه
در مرحله2 مثلا اونایی که شماره شناسنامه انها 10 داره پیدا کنه و به همین ترتیب جستجو
محدود بشه

سلام.
چنین جستجوی ساده ای، نیاز به فاز بندی نداره. کل عملیاتی رو که ذکر کردید، میشه در یک مرحله و با استفاده از یک دستور SQL انجام داد. به این ترتیب هم دیگه نیازی به Load کردن اطلاعاتی که ممکنه در Result Set مورد نظر نباشن، نخواهد بود. ضمن اینکه تعداد Round-Trip ها به طرز چشمگیری کاهش پیدا خواهد کرد که این خود باعث افزایش Performance برنامه میشه.

پاورقی: اگر Script مربوط به re-generate کردن جداول رو اینجا بذارید، من دستور SQL مربوطه رو براتون می نویسم.

elahem
جمعه 20 مهر 1386, 22:26 عصر
این چیزی که من می خوام باید 3 مزحله ای باشه

می تونین کمکم کنین؟

می خوام بانک اطلاعاتی accessباشه

می خوام بانک اطلاعاتی access باشه

egoldashraf
شنبه 21 مهر 1386, 00:13 صبح
اگه از متد Select توی دیتا تیبل استفاده کنی کارت راه میافته؟

mehdi.mousavi
شنبه 21 مهر 1386, 21:16 عصر
این چیزی که من می خوام باید 3 مزحله ای باشه

می تونین کمکم کنین؟

می خوام بانک اطلاعاتی accessباشه

می خوام بانک اطلاعاتی access باشه


منظورتون از سه مرحله چیه؟ میخواهید کل بانک رو لود کنید، که تو

مرحله اول همه اونایی که اسم علی داره انتخاب کنید
مرحله دوم بین اونایی که تو مرحله اول در اومده، اونایی رو انتخاب کنید که شماره شناسنامه خاصی دارن
و تو مرحله سوم ....

نمیدونم چرا اصرار دارید اینکارو کنید، اما این روش صحیح نیست. فرض کنید از یک میلیون رکورد، سیصد هزار رکورد اسم علی دارن، و 20 تاشون شماره شناسنامه اشون 10 هستش. شما واسه لود کردن 10 تا رکورد، میخواهید یه میلیون رکورد رو ببرید تو حافظه و ...؟

شاید مشکل اصلی رو بیان کنید، راه مناسبی رو بشه براش بیان کرد. اما اگر اصرار به انجام اینکار دارید، خوب کلیه اطلاعات رو توی یه DataSet لود کنید، بعدش با XPATH هر طور خواستید (تا هر Level ای) اطلاعات رو Select کنید.