با سلام خدمت دوستان عزیز
من برنامه ای با vb.net 2005 وaccess 2003 میخوام بنویسم
که یه اسم رو بگیره و تو دیتابیس جستجو کنه اسم های شبیه اونو پیدا کنه و نشون بده مثلا وقتی "علی " رو تایپ کنی "محمدعلی "و"علیرضا"و ... رو نشون بده
اگه ممکنه کمکم کنین
(در مورد نحوه جستجو و نوشتن دستور sql و اینکه اگه چیزی یافت نشد چیزی برگندونده میشه یه نه ؟)
جستجو در دیتا بیس
مدیران انجمن: abbas.m.k, athlon64x2, شوراي نظارت

- پست: 433
- تاریخ عضویت: یکشنبه ۱۲ اردیبهشت ۱۳۸۹, ۱:۴۸ ب.ظ
- سپاسهای ارسالی: 733 بار
- سپاسهای دریافتی: 1344 بار
Re: جستجو در دیتا بیس
سلام.ابتدا يك دكمه و يك DataGridView در فرم قرار دهيد .شپس كد زير را درون دكمه بنويسيد:
Please Login or Register to see this code
نكته مهم:توي قسمت C:\Users\Abbas\Documents\Database2.mdb آدرس كامل ديتابيس خود را بذاريد.
نكته مهم:در كد aql نام nametable ,namefield را به ترتيب برابر نام جدول و نام فيلد در ديتابيستون بذاريد.
Please Login or Register to see this code
نكته مهم:توي قسمت C:\Users\Abbas\Documents\Database2.mdb آدرس كامل ديتابيس خود را بذاريد.
نكته مهم:در كد aql نام nametable ,namefield را به ترتيب برابر نام جدول و نام فيلد در ديتابيستون بذاريد.
[HIGHLIGHT=#1F497D] بهترين مترجم كيست كه سكوت را ترجمه كند.

- پست: 433
- تاریخ عضویت: یکشنبه ۱۲ اردیبهشت ۱۳۸۹, ۱:۴۸ ب.ظ
- سپاسهای ارسالی: 733 بار
- سپاسهای دریافتی: 1344 بار
Re: جستجو در دیتا بیس
برنامه قبلي فقط براي يك نام مشخص بود.اين كد يك رشته را توسط textbox از ورودي مي گيرد و آن را در ديتابيس پيدا مي كند:
Please Login or Register to see this code
Please Login or Register to see this code
[HIGHLIGHT=#1F497D] بهترين مترجم كيست كه سكوت را ترجمه كند.

- پست: 254
- تاریخ عضویت: یکشنبه ۱۸ مرداد ۱۳۸۸, ۱۰:۱۲ ب.ظ
- سپاسهای ارسالی: 148 بار
- سپاسهای دریافتی: 389 بار
Re: جستجو در دیتا بیس
ممنون abbas جون
کدهاتو امتحان کردم خیلی لذت بردم
اگه ممکنه چند تا سئوال داشتم :
1-s2 = "SELECT * FROM table1 WHERE name LIKE'%" + s1 + "%'" این خط رو بیشتر توضیح بده .
2- بعضی از اسامی رو خوب جستجو نمی کنه مثلا "محمد" رو با پسوند و پیشوند نشون میده ولی "علی" رو نه ؟نمی دونم مشکل از فارسی نویسیه یا نه؟به نظرت از vb.net 2008 استفاده کنم برطرف میشه ؟
3- فرمول ها و روش های کامل تر جستجو رو از کجا گیر بیارم ؟
4-اگه دیتابیس مون بزرگ باشه یه مقدار طول میکشه تا جواب رو نشون بده می خوام یه پروگرس بار بزارم که کاربر از در حال کار بودن برنامه و زمان باقی مونده مطلع بشه .چطوری این کارو بکنم ؟
ممنون
کدهاتو امتحان کردم خیلی لذت بردم
اگه ممکنه چند تا سئوال داشتم :
1-s2 = "SELECT * FROM table1 WHERE name LIKE'%" + s1 + "%'" این خط رو بیشتر توضیح بده .
2- بعضی از اسامی رو خوب جستجو نمی کنه مثلا "محمد" رو با پسوند و پیشوند نشون میده ولی "علی" رو نه ؟نمی دونم مشکل از فارسی نویسیه یا نه؟به نظرت از vb.net 2008 استفاده کنم برطرف میشه ؟
3- فرمول ها و روش های کامل تر جستجو رو از کجا گیر بیارم ؟
4-اگه دیتابیس مون بزرگ باشه یه مقدار طول میکشه تا جواب رو نشون بده می خوام یه پروگرس بار بزارم که کاربر از در حال کار بودن برنامه و زمان باقی مونده مطلع بشه .چطوری این کارو بکنم ؟
ممنون
زندگی همش زنگ تفریح نیست
ساعت بعد حساب داریم ...
[External Link Removed for Guests]
ساعت بعد حساب داریم ...
[External Link Removed for Guests]

- پست: 433
- تاریخ عضویت: یکشنبه ۱۲ اردیبهشت ۱۳۸۹, ۱:۴۸ ب.ظ
- سپاسهای ارسالی: 733 بار
- سپاسهای دریافتی: 1344 بار
Re: جستجو در دیتا بیس
سلام MRSTAR عزيز:
در مورد سوال1:
در vb.net كد هاي sql را به صورت رشته مينويسيم و اجرا مي كنيم.دستور select و where فكر كنم نياز به توضيح نداشته باشه.اما در مورد LIKE .اين دستور براي اينه كه تشخيص بده اون حرف كجاي رشته ياشه پيدا كنه.مثلا اگه علامت % رو اول بذاريم فقط اوناييرو پيدا مي كنه كه با اين رشته شروع مي شوند و اگه اين علامت را آخر بذاريم اون هايي رو پيدا مي كنه كه به اين رشته ختم كنند.
مثلا كد زير رشته هاايي را پيدا مي كند كه با حرف "ali" شروع شوند:
Please Login or Register to see this code
حالا اگه بخواين كد را جوري تغيير بدين كه مختص به رشته "ali" نباشه بايد به جاي ali نام متغيري را بذاريد كه رشته ورودي را ذخيره مي كند.اگه در كد بالا به جاي ali نام متغير را بذاريد مثل s2 اونو مثل يه رسته در نظر ميگيره و نه مقدار اونو بنابراين ميايم با يكم كد نويسي اين مشكل را حل مي كنيم:
در .net ميشه رشته هارا با عملگر+ به هم الحاق كرد به اين صورت:
Please Login or Register to see this code
در اين قسمت اونجاهيي كه خود رشته هست درون علامت "" ميذاريم و اونجايي كه متغير رشته ايست نام متغير را فقط مينويسيم تا مقدار اون قرار بگيره.
سوال2:بله احتمالا به خاطر فارسي نويسي هست.اگر از vb.net 2008 استفاده كنيد خيلي بهتره هرچند كه vb.net 2010 هم هست كه امكانات جديدي را دارد.
سوال3:آدرس چند تا pdf را تو همين تايپيك بعدا ميذارم كه يه تور كامل دستورات sql را توضيح ميده.
سوال4:بلد نيستم
در مورد سوال1:
در vb.net كد هاي sql را به صورت رشته مينويسيم و اجرا مي كنيم.دستور select و where فكر كنم نياز به توضيح نداشته باشه.اما در مورد LIKE .اين دستور براي اينه كه تشخيص بده اون حرف كجاي رشته ياشه پيدا كنه.مثلا اگه علامت % رو اول بذاريم فقط اوناييرو پيدا مي كنه كه با اين رشته شروع مي شوند و اگه اين علامت را آخر بذاريم اون هايي رو پيدا مي كنه كه به اين رشته ختم كنند.
مثلا كد زير رشته هاايي را پيدا مي كند كه با حرف "ali" شروع شوند:
Please Login or Register to see this code
حالا اگه بخواين كد را جوري تغيير بدين كه مختص به رشته "ali" نباشه بايد به جاي ali نام متغيري را بذاريد كه رشته ورودي را ذخيره مي كند.اگه در كد بالا به جاي ali نام متغير را بذاريد مثل s2 اونو مثل يه رسته در نظر ميگيره و نه مقدار اونو بنابراين ميايم با يكم كد نويسي اين مشكل را حل مي كنيم:
در .net ميشه رشته هارا با عملگر+ به هم الحاق كرد به اين صورت:
Please Login or Register to see this code
در اين قسمت اونجاهيي كه خود رشته هست درون علامت "" ميذاريم و اونجايي كه متغير رشته ايست نام متغير را فقط مينويسيم تا مقدار اون قرار بگيره.
سوال2:بله احتمالا به خاطر فارسي نويسي هست.اگر از vb.net 2008 استفاده كنيد خيلي بهتره هرچند كه vb.net 2010 هم هست كه امكانات جديدي را دارد.
سوال3:آدرس چند تا pdf را تو همين تايپيك بعدا ميذارم كه يه تور كامل دستورات sql را توضيح ميده.
سوال4:بلد نيستم

[HIGHLIGHT=#1F497D] بهترين مترجم كيست كه سكوت را ترجمه كند.

- پست: 433
- تاریخ عضویت: یکشنبه ۱۲ اردیبهشت ۱۳۸۹, ۱:۴۸ ب.ظ
- سپاسهای ارسالی: 733 بار
- سپاسهای دریافتی: 1344 بار
Re: جستجو در دیتا بیس
سلام اينم آدرس pdf هايي در باره sql كه قول داده بودم .
[External Link Removed for Guests]
[External Link Removed for Guests]
[HIGHLIGHT=#1F497D] بهترين مترجم كيست كه سكوت را ترجمه كند.