PDA

View Full Version : مشکل در جستجوی فارسی



mohsen.nsb44
جمعه 11 فروردین 1391, 16:35 عصر
سلام به همه
من در asp.net یک استورپروسیجر برای فیلتر کردن یکسری از عنواین را دارم کد زیر رو مینویسم درست کار میکنه


select * from amlak where fName ='home'

اما زمانی که به صورت فارسی بخوام عمل فیلتر کردن را انجام بدم کد بالا کار نمیکنه(فقط به جای home مینویسم خانه)

hamid_shrk
جمعه 11 فروردین 1391, 17:52 عصر
اول اینکه فیلتون باید از نوع nvarchar باشه.
و بهتره بجای = از like استفده کنید و ورودیتون رو هم با '%' جمع کنید :

SET @name='%'+@name+'%'
-----------
WHERE dbo.Product.[name] LIKE @name

mohsen.nsb44
جمعه 11 فروردین 1391, 17:58 عصر
اول اینکه فیلتون باید از نوع nvarchar باشه.
و بهتره بجای = از like استفده کنید و ورودیتون رو هم با '%' جمع کنید :

SET @name='%'+@name+'%'
-----------
WHERE dbo.Product.[name] LIKE @name

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

hamid_shrk
جمعه 11 فروردین 1391, 18:18 عصر
خوب حالا یک N بذار پشتش اینجوری :

dbo.Product.[name] = N'خانه'

mohsen.nsb44
جمعه 11 فروردین 1391, 18:44 عصر
خوب حالا یک N بذار پشتش اینجوری :

dbo.Product.[name] = N'خانه'

اینم امتحان کردم اما متاسفانه جواب نداد

mohsen.nsb44
جمعه 11 فروردین 1391, 18:53 عصر
زمانی که با پارامتر ارسال کردم حل شد اما زمانی که در خود استورپروسیجر برابر یک مقدار فارسی قرار میدادم کار نمیکرد به هر حال تصمیم گرفتم با پارامتر ارسال کنم

hamid_shrk
جمعه 11 فروردین 1391, 19:02 عصر
بله میخواستم بگم این رو که مستقیم ننویسید.
شما Collation دیتابیستون احتمالا Arabic نیست

lastmory
جمعه 11 فروردین 1391, 19:40 عصر
سلام
Collation دیتابیستون رو تغییر بدید به این
ببینید حل میشه
84932