PDA

View Full Version : سوال: جستجو در جملات یا متون ذخیره شده در دیتا بیس



ahmad1010
سه شنبه 31 مرداد 1391, 16:40 عصر
با سلام
دیتا بیس من از نوع SQL می باشد. یک جدول با یک فیلد که داخل آن احادیث موضوعی قرار دارد. این احادیث بصورت یک جمله یا متن دو سه صفحه ای هستند.
آیا می توانم از طریق یک تکست باکس ، کلمه (یا کلمات مرکب) را جستجو و چنانچه این کلمه در این حادیث موجود باشد .نتایج را به ترتیب (یکی یکی )در یک لیست باکس نمایش دهم.
مثال:
حدیث: دوست داشتن مردم و دوستی با آنها نیمی از عقل است.
کلمه مورد جستجو: دوست داشتن- دوستی- عقل

چنانچه راه حل بهتری وجود دارد دریغ نفرمایید.

تشکر

Arash_janusV3
سه شنبه 31 مرداد 1391, 17:35 عصر
روش جستجوی کاربر به چه صورتی هستش؟

حدیث: دوست داشتن مردم و دوستی با آنها نیمی از عقل است.
کلمه مورد جستجو: دوست داشتن- دوستی- عقل

آیا یکی از اینها را وارد می کند ؟

ahmad1010
سه شنبه 31 مرداد 1391, 17:47 عصر
سلام

جستجوی کاربر از طریق یک تکست باکس می باشد. و در هر مرتبه جستجو تنها یک کلید واژه مثلا "عقل" یا "دوست داشتن" جستجو خواهد شد.

ali_habibi1384
سه شنبه 31 مرداد 1391, 17:53 عصر
كلمات مورد جستجو رو توي آرايه بريز و به شكل زير جستجو كن

select * from tblahadis where hadis like '% search[0] %' or hadis like '% search[1] % ' or ...

Arash_janusV3
سه شنبه 31 مرداد 1391, 17:55 عصر
خوب شما مقدار را ابتدا در دیتابیس جستجو کنید
و سپس نتیجه به دست آمده را در یک گرید نمایش بدید

SELECT NameField
FROM nameTable
WHERE (NameField LIKE N'%Value%')

ahmad1010
سه شنبه 31 مرداد 1391, 18:01 عصر
با توجه به اینکه برخی از احادیث موضوعی یک یا دو صفحه متن هستند نمایش آنها در گرید جالب نیست.اگه ممکن باشه باید داخل لیست باکس نمایش داده بشه و با دکمه های بعدی - قبلی مرور شود.

ali_habibi1384
سه شنبه 31 مرداد 1391, 18:11 عصر
با توجه به اینکه برخی از احادیث موضوعی یک یا دو صفحه متن هستند نمایش آنها در گرید جالب نیست.اگه ممکن باشه باید داخل لیست باکس نمایش داده بشه و با دکمه های بعدی - قبلی مرور شود.

خب توي ديتا تيبل بريز از اونجا توي ليست نشون بده

Arash_janusV3
سه شنبه 31 مرداد 1391, 18:15 عصر
خب توي ديتا تيبل بريز از اونجا توي ليست نشون بده
این بهترین کاریه که می شه انجام داد

ahmad1010
سه شنبه 31 مرداد 1391, 18:19 عصر
ممنون هستم اگه لطف کنید یک نمونه کد بذارید .

ali_habibi1384
سه شنبه 31 مرداد 1391, 18:31 عصر
datatable dt = new datatable();
dt=اطلاعات جستجو شده;
حالا مثلا با زدن كليد next قراره اطلاعات رو توي ليست باكس نشون بدي. كد زير رو توي رويداد كليك دكمه next ميريزيد:


listBox1.Items.Clear();
listBox1.Items.Add (dt.Rows[شماره سطر مورد نظر]["Price"].ToString());