ايران ويج

نسخه‌ی کامل: جستجوي هوشمند (حساس به حرف و ...) و جستجو به سبک گوگل ( نوعي ديگر )
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2
[font=Tahoma][size=medium]سلام و اميدوارم که حالتون خوب باشه
من مدتي بود که دنبال کدي مي گشتم که با فشردن يک حرف شروع به جستجو کند و تمام فيلدهايي که با آن حرف شروع ميشوند را پيدا کند بعد با فشردن حرف دوم همينطور الي آخر ...
تمام فروم ها را بررسي کردم هيچ کدوم کامل توضيح نداده بودند
و تعداد زيادي هم همين سوال برايشان پيش آمده بود ولي جوابي دريافت نکرده بودند .
به همين خاطر اين تاپيک را زدم تا مشکل بقيه هم حل شود
پس شروع مي کنم :
1) براي اين نوع جستجو من از SQL استفاده مي کنم پس ابتدا يک کنترل داده ADO يا ADODC را به فرم اضافه مي کنيم
2) تمام مراحل ست کردن ADO از جمله محل ديتا بيس و غيره را تنظيم ميکنيم ، در برگ نشان RecordSource قسمت CommandType  نوع adCmdText را بر مي گزينيم
در قسمت Command Text دستور زير را وارد مي کنيم :
SELECT*FROM Table1
حال يک DataGrid به فرم اضافه مي کنيم ، آنرا هم به ADO ست ميکنيم
3) حالا يک TextBox مي خواهيم تا کلمه اي که مي خواهيم جستجو کنيم را در آن وارد کنيم
براي کامل شدن جستجو و حساس بودن آن به کلمه دستورات زير را در Event Change تکست باکس وارد مي کنيم :
در رکورد سورس ADO دستور اس کيو ال زير را وارد ميکنيم :
[align=left]

Adodc1.Recordsource=" SELECT*FROM Table1 WHERE Field1 LIKE
"('%" + Text2.Text + "')
Adodc1.Refresh

دستورات رو کاملا پشت سر هم در کد پيج خودتون کپي کنيد
اميدوارم که مشکلتون حل شده باشه
-----------------------------------------------------------
براي اينکه بتونيم جستجويي شبيه ياهو يا گوگل داشته باشيم :
سرچ اينجين گوگل چگونه عمل ميکند؟
خب وقتي که چيزي رو در گوگل مي نويسيم ، گوگل در بانک اطلاعاتي خود که متشکل از رابطه هاي زيادي است مي گردد تا اينکه صفحاتي که چيزي شبيه اون نوشته درونشان هست را نمايش دهد
ما چگونه مي توانيم مانند گوگل جستجو کنيم؟
خب دقيقاً مانند گوگل سرچ کردن احتياج به رابطه هاي زيادي داره که خب بستگي به ديتا بيستون داره و بايد زير داده يا Sub Data base  داشته باشيد
ولي با يک تغيير کوچيک در دستورات بالا مي توانيم چيزي شبيه جستجو به سبک گوگل داشته باشيم
يعني اينکه مي گرده و مثلا تمام رکوردهايي که الف توي اونها هست رو پيدا ميکنه حالا اين الف مي خواد آخر کلمه باشه يا اولش فرقي نداره
[align=left]

Adodc1.Recordsource=" SELECT*FROM Table1 WHERE Field1 LIKE
"('%" + Text2.Text + "%')
Adodc1.Refresh

[align=right]
اين % که اضافه شده باعث مي شه حرف مورد نظر در هر جاي کلمه وجود داره پيدا بشه و نمايش داده بشه
اميدوارو که کمکتون کرده باشم

بهتون اين قول رو ميدم که يه دفترچه تلفن ساده ولي در عين حال جالب
که تقريبا همه ي اينها رو توي خودش بگونجونه رو به زودي آپلود کنم
فعلاWink
خیلی ممنون ! خدا خیرت بده ! ( شکلک یه ماچ خیلی گنده )
سلام
خب با عرض پوزش از دوست خوبم چون مي دونم كه خيلي ها هنوز از اكسس به عنوان بانك استفاده مي كنن اگه اجازه بدين من يه سرس با بانك اكسس هم براي دوستان بزارم.
خب بهتره اينم اضافه كنم كه شما با استفاده از and توي دستورتون مي تونين اين فيلتر رو براي چند فيلد استفاده كنين به عنوان مثال كساني كه توي اسم كوچكشون الف هست و كساني كه تو نام خانواديگيشون حرف دال باشه و يا فيلتر هاي بيشتر .
تنها ترين جان ممنون از کامنتت ، لطف کردي
اگه بازم مطلب جالبي به نظرت رسيد بگو
ممنون
حتما خسته هم شدی
چیز جدیدی نبود . خوب چیز مشخصیه . چطور جواب نگرفته بودید
سلام دست شما درد نكن از زحمتي كه كشيدي لطفا از آموزشهاي كامل خودت باز هم بزاز اگر اجاز بدهي اين مطالب را با نام و ذكر سايت در وبلاگ قرار بدم با تشكر
آقاي حسيني اشکالي نداره توي وبلاگتون قرار بديد آدرسشم بديد ديگران استفاده کنن
سهيل جان ، آره چيز جديدي نبود
ولي شما که خودت اطلاع داري سرچ يه موضوع مهم توي ديتا بيس هست
و اگر سايتهاي مختلف رو بگردي همه يه جاي کدهاشون مي لنگه و احتمالا جوابي دريافت نميکنيد
من هم با ديدن دستورات دست و پا شکسته ي اين و اون و مراجعه به کتاب تونستم راش بندازم
ولي در کل قبول دارم که مطلب جديدي نبود
ولي شايد بعضي ها هنوز تو قديمياش مشکل داشته باشن
سلام
منم برنامه رو براي كسايي گذاشتم كه مشكل داشتند نه اساتيدي مثل شما .
صفحه‌ها: 1 2