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 صبح
دوستان نظری ندارید؟
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.