رفتن به مطلب
  • 0

مشکل کوئری LIKE در sql با زبان فارسی


coco

سوال

سلام دوستان!

من میخوام تو کل دیتابیسم برای مثلا یک کلمه جست و جو کنم...

 

حالا مشکل اینجاست که وقتی میخوام کلمه فارسی ای رو جست و جو کنم ارور میده!!!

 

این کوئری من هست :

c = sql1.ExecQuery("SELECT * FROM tbl WHERE FA OR EN LIKE '%" & EditText1.Text & "%'")

پیشاپیش ممنون!

 

پ.ن : دیتابیس یه ستون داره که کلمات فارسی توشه ویه ستون برای انگلیسی ها! (احتمالا فهمیدین که دیکشنریه... :D )

لینک ارسال
به اشتراک گذاری در سایت های دیگر

9 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

میشه درباره روش دوم توضیح بدین؟

یه شرط براش میشناسم که خیییییلییییی طول میکشه بر قرار کردنش...

این رو بررسی کنید :

http://answercenter.ir/topic/3352-%DA%A9%D8%AA%D8%A7%D8%A8%D8%AE%D8%A7%D9%86%D9%87-%D8%AA%D8%B4%D8%AE%DB%8C%D8%B5-%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF-%D9%81%D8%A7%D8%B1%D8%B3%DB%8C-%D8%AD%D8%B1%D9%88%D9%81-%D9%88-%D8%A7%D9%86%DA%AF%D9%84%DB%8C%D8%B3%DB%8C/

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام شایان جان در واقع این خط کد که مغز دیکشنری هست رو تقدیم میکنم به شما 
بابت زحمتایی که میکشید در انجمن و برای این که منم با راهنمایی دوستان به این خط کد رسیدم

الان دارم روی یه دیکشنری کار میکنم که تمومه اگر خدا بخواهد 
jadval_shoma تیبل لغت های شما هست
سه تا ستون داره 
id
en
fa

EditText1.Text مقداری که یوزر تو ادیت تکس وارد میکنه 
LIMIT 40 OFFSET 0 میگه 40 تا لغت شبیه رو در لیست ویو نشون بده که سرعت دیکشنری رو در سرچ کنترل کنیم سنگین نشه تا 100 هم ببری بالا بد نیست
 

	cur=sql_sti.ExecQuery("SELECT * FROM jadval_shoma where en LIKE '"&EditText1.Text&"%'LIMIT 40 OFFSET 0") 							
		 For i = 0 To cur.RowCount-1																								
			 cur.Position=i																										
			 ListView1en_fa.AddTwoLines2(cur.GetString("en"),cur.GetString("fa"),cur.getint("id"))				
		 Next																											

لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

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

بابت زحمتایی که میکشید در انجمن و برای این که منم با راهنمایی دوستان به این خط کد رسیدم

الان دارم روی یه دیکشنری کار میکنم که تمومه اگر خدا بخواهد 

jadval_shoma تیبل لغت های شما هست

EditText1.Text مقداری که یوزر تو ادیت تکس وارد میکنه 

LIMIT 40 OFFSET 0 میگه 40 تا لغت شبیه رو در لیست ویو نشون بده که سرعت دیکشنری رو در سرچ کنترل کنیم سنگین نشه تا 100 هم ببری بالا بد نیست

 

	cur=sql_sti.ExecQuery("SELECT * FROM jadval_shoma where en LIKE '"&EditText1.Text&"%'LIMIT 40 OFFSET 0") 							
		 For i = 0 To cur.RowCount-1																								
			 cur.Position=i																										
			 ListView1en_fa.AddTwoLines2(cur.GetString("en"),cur.GetString("fa"),cur.getint("id"))				
		 Next																											

سلام!

 

ممنون ارسطو جان ولی به it گیر میده!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من یک سمپل ساده نوشتم برای like در حروف فارسی ...

هیچ مشکلی نداره

like in sql.rar

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام!

 

ممنون ارسطو جان ولی به it گیر میده!

حق داره بنده خدا 

دیکشنری من زبونش ایتالیایی بوده خوب !!!!

ببین درستش کردم برات مشکل داشت بنویس 

اسم لیست ویو خودت رو هم باید عوض کنی ها!!!!

این رو باید عوض کنی 

ListView1en_fa به اسم لیست خودت 

این رو به کرسور خودت

cur

و این رو به ایس کیو ال خودت 

sql_sti.

دیگه نباید مشکلی داشتی باشی فکر کنم !!!

البته

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

من یک سمپل ساده نوشتم برای like در حروف فارسی ...

هیچ مشکلی نداره

بله!

این مشکلی نداشت

ولی من میخوام اگر کاربر متن انگلیسی وارد کرد داخل ردیف EN بگرده و اگر فارسی وارد کرد داخل FA بگرده...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بله!

این مشکلی نداشت

ولی من میخوام اگر کاربر متن انگلیسی وارد کرد داخل ردیف EN بگرده و اگر فارسی وارد کرد داخل FA بگرده...

سلام دو تا راه هست.یکی اینکه کل جدول رو به دو بخش تقسیم کنی که هر دو بخش هم فارسی دارن هم انگلیسی 

مثلا اینطوری:

علی    ali
حسن    hasan
ali    حسن
hasan   علی

روش دوم :تشخیص حروف فارسی و انگلیسی که خیلی ساده است وبا شرط برقرار میشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام دو تا راه هست.یکی اینکه کل جدول رو به دو بخش تقسیم کنی که هر دو بخش هم فارسی دارن هم انگلیسی 

مثلا اینطوری:

علی    ali
حسن    hasan
ali    حسن
hasan   علی
روش دوم :تشخیص حروف فارسی و انگلیسی که خیلی ساده است وبا شرط برقرار میشه.

میشه درباره روش دوم توضیح بدین؟

یه شرط براش میشناسم که خیییییلییییی طول میکشه بر قرار کردنش...

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون!

مشکل حل شد...

تاپیک رو حل شده اعلام کردم...

میتونه قفل شه در صورت لزوم!

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...