PDA

View Full Version : سوال: مشاوره برای پیاده سازی جستجو



mehrdad85
دوشنبه 09 اسفند 1389, 08:06 صبح
سلام

دوستان من یه چیزی شبیه سیستم انبار داری نوشتم که از طریق اون میشه کالا های متفاوتی را به صورت جزء جزء داخلش ثبت کرد مثلا اگه قرار باشه یک خودرو را داخلش ثبت کنیم باید اجزا اونو جزء جزء مثلا بدنه موتور چرخ فرمان پدال و.... ثبت کرد
اگه بخوایم برای این سیستم یه جستجوی پیشرفته پیاده سازی کنیم که بشه روی فیلد های مختلف جستجو انجام بشه و بشه ازشون گزارشگیری کرد چه راهی را پیشنهاد میکنید؟
الگوریتم و ایده راهنمایی کنین
ممنون میشم با دلیل توضیح بدید


مرسی

mehrdad85
دوشنبه 09 اسفند 1389, 09:46 صبح
هیچ کس نظری نداره؟
یه جستجو شبیه جستجوی پیشرفته کتابخونه هه فقط تفاوت عمده اینه که تعداد فیلد های جستجوی کتاب ممکنه محدود باشه اما در مورد یکم تعدادش بیشتره
یعنی بر حسب اینکه کاربر چه فیلد هایی را انتخاب میکنه باید یه سری کنترل داخل صفحه ظاهر بشن و پس از تکمیل داخل پایگاه داده جستجو انجام بشه
مرد دیگه اینه که وقتی کاربر یه سری داده را وارد کرد از کجا میشه فهمید که این داده ها مربوط به کدام فیلد هستن و همون فیل را در پایگاه داده جستجو کرد؟

تورو خدا یکی یه نظری بده
کارم فوریه
باید زود پیاده سازیش کنم
فقط همین قسمتش مونده

مرسی

jaykob
دوشنبه 09 اسفند 1389, 14:41 عصر
هیچ کس نظری نداره؟
یه جستجو شبیه جستجوی پیشرفته کتابخونه هه فقط تفاوت عمده اینه که تعداد فیلد های جستجوی کتاب ممکنه محدود باشه اما در مورد یکم تعدادش بیشتره
یعنی بر حسب اینکه کاربر چه فیلد هایی را انتخاب میکنه باید یه سری کنترل داخل صفحه ظاهر بشن و پس از تکمیل داخل پایگاه داده جستجو انجام بشه
مرد دیگه اینه که وقتی کاربر یه سری داده را وارد کرد از کجا میشه فهمید که این داده ها مربوط به کدام فیلد هستن و همون فیل را در پایگاه داده جستجو کرد؟

تورو خدا یکی یه نظری بده
کارم فوریه
باید زود پیاده سازیش کنم
فقط همین قسمتش مونده

مرسی

سلام دوست عزیز برای اینکه کاربر هر فیلدی با مقدار مورد نظر را انتخاب کرد جستجو بر اساس اون انجام بگیره به شکل زیر عمل کنید :



public void search()
{
string ConnectionString = ConfigurationManager.ConnectionStrings["MYConnectionString"].ConnectionString;
ClassDataContext ctx = new ClassDataContext(ConnectionString);
var quary = from item in ctx.tbl_students select item;
switch (DrpListSearchFild.SelectedIndex)
{
case 0:
quary = from item in ctx.tbl_students where item.student_family == txtSearchText.Text select item;
break;
case 1:
quary = from item in ctx.tbl_students where item.student_govcode == txtSearchText.Text select item;
break;
case 2:
quary = from item in ctx.tbl_students where item.student_email == txtSearchText.Text select item;
break;
}
tbl_student[] items = quary.ToArray<tbl_student>();
grdSearchResult.DataSource = items;
grdSearchResult.DataBind();
}


موفق باشید

mehrdad85
دوشنبه 09 اسفند 1389, 15:53 عصر
میشه یه توضیح بدید که چکار کردید؟
حتما باید از دستورات switch استفاده کنم؟
اخه هم تعداد فیلد ها زیاده و متنوع هم اینکه با انتخاب جستجو بر روی یک فیلد مشکلات و درد سر های ایجاد و یا ظاهر کردن text box ها هم اضافه میشن

ممنونت میشم دوست عزیز یکم بیشتر راهنمایی کنن


مرسی

alonemm
دوشنبه 09 اسفند 1389, 16:42 عصر
با سلام:
شما ميتونيد با جمع آوري فيلد هاي انتخاب شده توسط كاربر Query رو بسازيد و براي هر فيلد در صورت انتخاب شده شرط هارو با هم AND كنيد و به گزارش ارسال كنيد.
يا بسته به نوع نرم افزار گزارش گيرنده متغيير يا پارامترها رو ارسال كنيد.


موفق باشيد.

mehrdad85
سه شنبه 10 اسفند 1389, 09:32 صبح
سلام
دوست عزیز از اینکه وقت میذاری و جواب میدی ممنونم

نمونه یا مثالی نداری که بتونم ازش استفاده کنم؟


ممنونت میشم اگه داری واسم بذاری


مرسی