PDA

View Full Version : سوال: مشکل با ارسال پارامتر فارسی



el_abdollahi
شنبه 08 خرداد 1389, 14:08 عصر
با سلام
من میخوام یک جستجو روی یک کلمه فارسی انجام بدم. ولی با مشکل عدم یافتن اطلاعات به علت فارسی بودن روبرو هستم


select * from tbl_newCoding
where KlaNme like '%'+N''+@name+'%'

ASKaffash
شنبه 08 خرداد 1389, 14:12 عصر
سلام
اینطوری است :


Declare @n nvarchar(100)
Set @n='%'+N'موس'+'%'
select * from Goods
where GName like @n

el_abdollahi
یک شنبه 09 خرداد 1389, 08:31 صبح
من میخوام از پارامتر استفاده کنم. در این روشی که شما گفتین من باید علامت درصد و N را در برنامه به پارامترم اضافه کنم ولی میخوام تا حد امکان این کار رو نکنم و تنها واژه ی مورد جستجوم رو به SP بفرستم.
یعنی نمیشه؟

ASKaffash
یک شنبه 09 خرداد 1389, 08:33 صبح
سلام
اگر از پارامتر از نوع nvarchar استفاده کرده باشید اصلا نیازی به N نیست

el_abdollahi
یک شنبه 09 خرداد 1389, 09:05 صبح
nvarchar هست ولی چیزی رو نشون نمیده. ولی وقتی کدم رو مثل مثال شما مینویسم رکورد برمیگردونه.
ممنون

ASKaffash
یک شنبه 09 خرداد 1389, 09:10 صبح
سلام
میشه کد اصلی را قرار دهید تا ببینیم چون برای پارامتر اصلا نیازی به N نیست

el_abdollahi
یک شنبه 09 خرداد 1389, 09:31 صبح
ALTER Procedure [dbo].[sp_tbl_newcoding_search]
@code nvarchar(255)
As
begin

select * from tbl_newCoding where kla4no like '%'+@code+'%'

end

ASKaffash
یک شنبه 09 خرداد 1389, 13:23 عصر
سلام
برنامه شما را تست کردم درست است و جواب میدهد سمت برنامه کاربری چه نوشته اید

el_abdollahi
دوشنبه 10 خرداد 1389, 11:01 صبح
با تشکر از توجهتون


exec [sp_tbl_newcoding_search] 'تلفن'

select * from tbl_newCoding where Kla4Nme like N'%تلفن%'


اولین دستور که SP پست قبل رو اجرا میکنه چیزی برنمیگردونه ولی دستور دوم تعدادی رکورد برمیگردونه.

Alireza Orumand
دوشنبه 10 خرداد 1389, 11:13 صبح
سلام
موقعی که دستور اول رو هم اجرا میکنید N رو قرار بدید برای اون هم مقدار بر میگردونه


exec [sp_tbl_newcoding_search] N'تلفن'

موفق باشید

el_abdollahi
دوشنبه 10 خرداد 1389, 12:13 عصر
میدونم. ولی میخوام این N رو توی SP بهش اضافه کنم.
میشه بگین چه جوری؟

el_abdollahi
چهارشنبه 12 خرداد 1389, 09:10 صبح
دوستان نظری ندارید؟