مشکل با دستور Like در query گرفتن از Access
سلام
من با استفاده از C# یه دیکشنری نوشتم که هم به فارسی و هم به انگلیسی ترجمه می کنه برنامه درشت کار میکنه فقط یه مشکل داره وقتی می خوام لغات فارسی رو با با Like جستجو کنم
لغات فارسی رو پیدا نمیکنه این هم کد جستجو هایی که تست کردم و ناقص کار کردن و بعضی ها هم کار نکردن:
یه دستور بی نقص می خواستم
strSQL = "select * from Farsi Where Farsi_Word LIKE '%" + Farsi_Word + "%'";
strSQL = "select * from Farsi Where Farsi_Word LIKE N'%" + Farsi_Word + "%'";
این یه ابزاره برای سایتم:
www.tprogrammer.com
خودتون برید این دیکشنری رو چک کنید
من فکر کنم از این زبان عربی باشه که لغات گچ پژ رو پشتیبانی نمیکنه چون من حرف (ی) کلمه (راضي) رو با شیفت ط زدم درست کار کرد ولی با ی معمولی کار نکرد
نقل قول: مشکل با دستور Like در query گرفتن از Access
دوست عزیز از توابع (LRIM(RTRIM) استفاده کنی درست میشه به این شکل
کد HTML:
strSQL = "select * from Farsi Where LTRIM(RTRIM(Farsi_Word)) LIKE '%" + Farsi_Word.TRIM() + "%'"
نقل قول: مشکل با دستور Like در query گرفتن از Access
البته trim بتنهایی کار هر دو ltrim و rtrim رو انجام میده
-----------------
جالبه مثل اینکه سئوال پروژه درسی هست چون کاربر دیگه ای هم دقیقا همین مشکل رو داشت!
نقل قول: مشکل با دستور Like در query گرفتن از Access
نقل قول:
نوشته شده توسط
uniservice
سلام
من با استفاده از C# یه دیکشنری نوشتم که هم به فارسی و هم به انگلیسی ترجمه می کنه برنامه درشت کار میکنه فقط یه مشکل داره وقتی می خوام لغات فارسی رو با با Like جستجو کنم
لغات فارسی رو پیدا نمیکنه این هم کد جستجو هایی که تست کردم و ناقص کار کردن و بعضی ها هم کار نکردن:
یه دستور بی نقص می خواستم
strSQL = "select * from Farsi Where Farsi_Word LIKE '%" + Farsi_Word + "%'";
strSQL = "select * from Farsi Where Farsi_Word LIKE N'%" + Farsi_Word + "%'";
سلام
اگر ازاين كد در اكسس استفاده مي كنيد مسلمه كه جواب نمي گيري چرا كه در اكسس LIKE بدون علامت % ميباشد و اگر هم همين فرمول در محيط C# استفاده ميكنيد علامت تك كوتيشن را بيرون از % قرار نده فكر مي كنم بايد آن را بعد از % قرار بدهيدمثل '%
موفق باشيد
نقل قول: مشکل با دستور Like در query گرفتن از Access
مشکلی که دوستان دارند در اکسس دستور like به این صورت نوشته میشه
Like "*" & [Forms]![frmCorrectTelNumber]![txtFamilySearch] & "*"
به جای علامت % از علامت * استفاده میشه
به همین سادگی
امیدوارم که مشکل پروژه :چشمک: دوستان هم حل شده باشه
نقل قول: مشکل با دستور Like در query گرفتن از Access
آقا از این همه لطفتون ممنون.
برای پست اول و دوم : من از نوع فیلد nvarchar استفاده کردم نیازی به ltrim اینا نیست و این هم یه پروژه درسی نیست این یه ابزار برای سایتمه www.tprogrammer.com برین تو سایت سمت راست زیر منوی اصلیه
برای پست سوم: من با استفاده از علامت % برای ترجمه لغات انگلیسی نتیجه می گیرم فقط برای فارسی جواب نمیده
پست آخر صبر کن تست کنم ...nn..m...???...nnn.nn.m..mn.???..~~~~~ آقا کار نکرد
public string Get_FaVerb()
{
string strSQL;
strSQL = "select * from Farsi Where Farsi_Word LIKE '*" + Farsi_Word + "*'";
return strSQL;
}
سایت منه برید خودتون دیکشنری رو ببینین www.tprogrammer.com
من فکر کنم از این زبان عربی باشه که لغات گچ پژ رو پشتیبانی نمیکنه چون من حرف (ی) کلمه (راضي) رو با شیفت ط زدم درست کار کرد ولی با ی معمولی کار نکرد
نقل قول: مشکل با دستور Like در query گرفتن از Access
سلام دستور ی که شما نوشتین حرف مشابه را در کل رشته ها بررسی می کند
مثلا شما فیادی دارید که
ali
alireza
mohmmad
mahmod
reza
اگر شما تایپ کنید r هم رای شما reza را می اورد هم alireza را برای اینکه فقط رضا را بیابد از دستور زیر استفاده کن.
"select * from person Where name LIKE '" + txtsearxh.Text.Trim() + "%'";
نقل قول: مشکل با دستور Like در query گرفتن از Access
نقل قول:
نوشته شده توسط
wolfstander
مشکلی که دوستان دارند در اکسس دستور like به این صورت نوشته میشه
Like "*" & [Forms]![frmCorrectTelNumber]![txtFamilySearch] & "*"
به جای علامت % از علامت * استفاده میشه
به همین سادگی
امیدوارم که مشکل پروژه :چشمک: دوستان هم حل شده باشه
-----------------------------------------------------------------------------
آقا ممنون منم مشکلم حل شد:تشویق:
نقل قول: مشکل با دستور Like در query گرفتن از Access
سلام اقا تورو خدا دقیق بگین چطور کد نوشتین؟ چنروزه بدجور درگیرشم اخری اینه
select * from bimar where name like '%" + name.Text.Trim() + "%'
ولی نمیاد از تکسباک هرچی رو تکه مشابه رشته تکسباکس رو پیدا کنه بلکه رشته دقیق مشابه تکسباکسو از بانکو پیدا میکنه.
مثلا تو تکس باک مینویسم s تو بانک اونایی که فقط s خالین رو پیدا میکنه.دیکه هرچی که شامل s باشه رو پیدا نمیکنه. از * هم بجای % استفاده کردم بیففایده بود :(((((((((
اقا توروخدا چوابمون بدین بدجور گیرمممنونم
نقل قول: مشکل با دستور Like در query گرفتن از Access
سلام اقا تورو خدا دقیق بگین چطور کد نوشتین؟ چنروزه بدجور درگیرشم اخری اینه
select * from bimar where name like '%" + name.Text.Trim() + "%'
ولی نمیاد از تکسباک هرچی رو تکه مشابه رشته تکسباکس رو پیدا کنه بلکه رشته دقیق مشابه تکسباکسو از بانکو پیدا میکنه.
مثلا تو تکس باک مینویسم s تو بانک اونایی که فقط s خالین رو پیدا میکنه.دیکه هرچی که شامل s باشه رو پیدا نمیکنه. از * هم بجای % استفاده کردم بیففایده بود :(((((((((
اقا توروخدا چوابمون بدین بدجور گیرمممنونم
نقل قول: مشکل با دستور Like در query گرفتن از Access
سلام
در قسمت شرط کوئری این کد را قرار بدید
Like "*" & Forms!Form Name!Text Box Name & "*"
نقل قول: مشکل با دستور Like در query گرفتن از Access
نقل قول:
نوشته شده توسط
Rasool-GH
سلام
در قسمت شرط کوئری این کد را قرار بدید
Like "*" & Forms!Form Name!Text Box Name & "*")
ارور میده :(
ستاره بدون دابل کوتیشن ایراد نمیگیره اما جوابم نمیده
نقل قول: مشکل با دستور Like در query گرفتن از Access
من این کدو زدم
"select * from bimar where name like '%"
+ name.Text.Trim()+"%' and family like '%"+family.Text+"%'"
اما وقتی میگم کلماتی رو جستجو کن که دارای s باشند، فقط اونایی رو که دقیقا s هستن را پیدا میکنه و کلماتی که s دارنو پیدا نمیکنه.
تورو خدا کمک کنین
نقل قول: مشکل با دستور Like در query گرفتن از Access
بله اصلاح شد . پرانتز اضافه بود
اگه نمونه فایل بزارین خیلی زودتر به نتیجه میرسین
نقل قول: مشکل با دستور Like در query گرفتن از Access
نقل قول:
نوشته شده توسط
itsoitso2
من این کدو زدم
"select * from bimar where name like '%"
+ name.Text.Trim()+"%' and family like '%"+family.Text+"%'"
اما وقتی میگم کلماتی رو جستجو کن که دارای s باشند، فقط اونایی رو که دقیقا s هستن را پیدا میکنه و کلماتی که s دارنو پیدا نمیکنه.
تورو خدا کمک کنین
از N استفاده کنید به شکل زیر:
query = "select * from tbl where title like N'%" + textBox1.Text + "%'";