۳۰-مرداد-۱۳۸۵, ۰۵:۳۹:۲۲
[font=Tahoma][size=medium]سلام و اميدوارم که حالتون خوب باشه
من مدتي بود که دنبال کدي مي گشتم که با فشردن يک حرف شروع به جستجو کند و تمام فيلدهايي که با آن حرف شروع ميشوند را پيدا کند بعد با فشردن حرف دوم همينطور الي آخر ...
تمام فروم ها را بررسي کردم هيچ کدوم کامل توضيح نداده بودند
و تعداد زيادي هم همين سوال برايشان پيش آمده بود ولي جوابي دريافت نکرده بودند .
به همين خاطر اين تاپيک را زدم تا مشکل بقيه هم حل شود
پس شروع مي کنم :
1) براي اين نوع جستجو من از SQL استفاده مي کنم پس ابتدا يک کنترل داده ADO يا ADODC را به فرم اضافه مي کنيم
2) تمام مراحل ست کردن ADO از جمله محل ديتا بيس و غيره را تنظيم ميکنيم ، در برگ نشان RecordSource قسمت CommandType نوع adCmdText را بر مي گزينيم
در قسمت Command Text دستور زير را وارد مي کنيم :
SELECT*FROM Table1
حال يک DataGrid به فرم اضافه مي کنيم ، آنرا هم به ADO ست ميکنيم
3) حالا يک TextBox مي خواهيم تا کلمه اي که مي خواهيم جستجو کنيم را در آن وارد کنيم
براي کامل شدن جستجو و حساس بودن آن به کلمه دستورات زير را در Event Change تکست باکس وارد مي کنيم :
اين % که اضافه شده باعث مي شه حرف مورد نظر در هر جاي کلمه وجود داره پيدا بشه و نمايش داده بشه
اميدوارو که کمکتون کرده باشم
بهتون اين قول رو ميدم که يه دفترچه تلفن ساده ولي در عين حال جالب
که تقريبا همه ي اينها رو توي خودش بگونجونه رو به زودي آپلود کنم
فعلا
من مدتي بود که دنبال کدي مي گشتم که با فشردن يک حرف شروع به جستجو کند و تمام فيلدهايي که با آن حرف شروع ميشوند را پيدا کند بعد با فشردن حرف دوم همينطور الي آخر ...
تمام فروم ها را بررسي کردم هيچ کدوم کامل توضيح نداده بودند
و تعداد زيادي هم همين سوال برايشان پيش آمده بود ولي جوابي دريافت نکرده بودند .
به همين خاطر اين تاپيک را زدم تا مشکل بقيه هم حل شود
پس شروع مي کنم :
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
[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]اميدوارم که مشکلتون حل شده باشه
-----------------------------------------------------------
براي اينکه بتونيم جستجويي شبيه ياهو يا گوگل داشته باشيم :
سرچ اينجين گوگل چگونه عمل ميکند؟
خب وقتي که چيزي رو در گوگل مي نويسيم ، گوگل در بانک اطلاعاتي خود که متشکل از رابطه هاي زيادي است مي گردد تا اينکه صفحاتي که چيزي شبيه اون نوشته درونشان هست را نمايش دهد
ما چگونه مي توانيم مانند گوگل جستجو کنيم؟
خب دقيقاً مانند گوگل سرچ کردن احتياج به رابطه هاي زيادي داره که خب بستگي به ديتا بيستون داره و بايد زير داده يا Sub Data base داشته باشيد
ولي با يک تغيير کوچيک در دستورات بالا مي توانيم چيزي شبيه جستجو به سبک گوگل داشته باشيم
يعني اينکه مي گرده و مثلا تمام رکوردهايي که الف توي اونها هست رو پيدا ميکنه حالا اين الف مي خواد آخر کلمه باشه يا اولش فرقي نداره
[align=left]
Adodc1.Recordsource=" SELECT*FROM Table1 WHERE Field1 LIKE
"('%" + Text2.Text + "%')
Adodc1.Refresh
اين % که اضافه شده باعث مي شه حرف مورد نظر در هر جاي کلمه وجود داره پيدا بشه و نمايش داده بشه
اميدوارو که کمکتون کرده باشم
بهتون اين قول رو ميدم که يه دفترچه تلفن ساده ولي در عين حال جالب
که تقريبا همه ي اينها رو توي خودش بگونجونه رو به زودي آپلود کنم
فعلا