PDA

View Full Version : جستجوی فارسی در دیتابیس sql



sajadsobh
شنبه 23 آذر 1392, 15:01 عصر
چرا توی جستجوی عبارات فارسی مشکل دارم؟! توی sql 2005 یادمه اینجور نبود ولی توی 2008 اصلاً انگار حرف ی رو نمیشه جستجو کرد.
الان من این stored procedure رو نوشتم مثلاً

CREATE PROC MySP
@item nvarchar(100)
AS
BEGIN
SELECT * FROM Categories WHERE (LoweredCategoryName = LOWER(@item))
END

الان وقتی یه عبارت که شامل حرف 'ی' باشه رو با این sp جستجو میکنم اصلاً رکوردی بر نمیگردونه و حتماً باید N رو اولش بیارم مثلاً باید بنویسم:


MySP N'طراحی سایت'


توی sql که مشکل ندارم ولی وقتی میخوام توی C#‎‎‎‎ چطور باید N رو به عبارتی که میخوام بفرستم سمت sp اضافه کنم؟!
ممنون میشم راهنمایی کنید.. :ناراحت:

Mohammad_dn
شنبه 23 آذر 1392, 17:42 عصر
شما باید از دستور like برای جستجو استفاده کنید

mohammad973
شنبه 23 آذر 1392, 19:15 عصر
توی store Procedure همونطور با N بنویس . برای عبارات فارسی درست کار میکنه و برای عبارات لاتین هم مشکلی ایجاد نمیکنه .

دیگه نیازی هم به تغییر store Procedure از طرف #C نداری

sajadsobh
شنبه 23 آذر 1392, 21:30 عصر
شما باید از دستور like برای جستجو استفاده کنید
LIKE هم استفاده کردم بازم نشد.

sajadsobh
شنبه 23 آذر 1392, 21:31 عصر
توی store Procedure همونطور با N بنویس . برای عبارات فارسی درست کار میکنه و برای عبارات لاتین هم مشکلی ایجاد نمیکنه .

دیگه نیازی هم به تغییر store Procedure از طرف #C نداری

توی این دستور کجا N قرار بدم آخه؟!

SELECT * FROM Categories WHERE (LoweredCategoryName = LOWER(@item))

Mohammad_dn
شنبه 23 آذر 1392, 21:46 عصر
پشت دستور Like ....اینو قرار بده(N)

SELECT * FROM AdminPost WHERE Title Like N'%'+@SearchKey+'%'

sajadsobh
شنبه 23 آذر 1392, 23:13 عصر
پشت دستور Like ....اینو قرار بده(N)

SELECT * FROM AdminPost WHERE Title Like N'%'+@SearchKey+'%'

آقا بازم نشد. اصلاً تا به حرف 'ی' میرسه گیج میزنه. دیگخ منم خدایی هنگ کردم.. :افسرده:

Mohammad_dn
یک شنبه 24 آذر 1392, 00:29 صبح
من از همین کد دارم برای جستجوی سایتم استفاده میکنم....

http://www.zehneroshan.ir/Home

قسمت جستجوشو نگاه کن..حتی اگه حرف "ی" هم بزنی بر اساس همون جستجو میکنه

sajadsobh
یک شنبه 24 آذر 1392, 00:39 صبح
من از همین کد دارم برای جستجوی سایتم استفاده میکنم....

http://www.zehneroshan.ir/Home

قسمت جستجوشو نگاه کن..حتی اگه حرف "ی" هم بزنی بر اساس همون جستجو میکنه

دیدم محمد جان.
پس چرا واسه من اینقدر بازی در میاره؟! اعصابم داغون شد دیگه خدایی :عصبانی++:

sajadsobh
یک شنبه 24 آذر 1392, 00:51 صبح
الان همین رو درست کردم:

CREATE PROCEDURE MySP
@item nvarchar(100)
AS
BEGIN
SELECT * FROM Categories WHERE (LoweredCategoryName LIKE N'%'+LOWER(@item)+'%')
END

اینم از امتحانش:

MySP 'طراحی سایت'

جدول خالی برمیگردونه :افسرده:

Mohammad_dn
یک شنبه 24 آذر 1392, 00:57 صبح
LOWER برای چیه؟

Mohammad_dn
یک شنبه 24 آذر 1392, 00:59 صبح
اگه برای کوچک کردن متن...ورش دار چون نیازی نیست

sajadsobh
یک شنبه 24 آذر 1392, 07:56 صبح
اگه برای کوچک کردن متن...ورش دار چون نیازی نیست

فرق نمیکنه داداش. بازم همونجوره :چشمک:

Kamarian.Reza
یک شنبه 24 آذر 1392, 08:53 صبح
با سلام مشکل شما از حروف ی و ک هست که بین زبان فارسی و عربی کلا متفاوت هستند برای این منظور، توی بخش ASP.Net در این باره جستجو بفرمایید

Mohammad_dn
یک شنبه 24 آذر 1392, 15:33 عصر
اگه مشکل از این دو حرفه پس چرا من مشکل ندارم؟