PDA

View Full Version : مشکل با جستجوی رشته در stored procedure با استفاده از پارامتر های پاس داده شده



sanaz.dadkhah
چهارشنبه 22 شهریور 1391, 22:11 عصر
سلام من یک رشته را به استورم پاس میدهم اما نتیجه ای بهم بر نمیگردونه اگر همون رشته را به صورت 'رشته' بنویستم در استور و قبل ان N بگدارم نتیجه را بهم بر میگردونه اما نمی دونم چطور n را پشت پارامتر ارسالیم در استور اعمال کنم میشه دوستان راهنمایی کنن؟

A.S.Roma
چهارشنبه 22 شهریور 1391, 22:24 عصر
SELECT * FROM table WHERE Title LIKE N'' + @Title
SELECT * FROM table WHERE Title LIKE N'%' + @Title + '%'

pashna
پنج شنبه 23 شهریور 1391, 00:50 صبح
سلام، احتمالا پارامتر ورودیتون VARCHAR هست که باید به NVARCHAR تغییرش بدید.

sanaz.dadkhah
پنج شنبه 23 شهریور 1391, 08:25 صبح
در جدول و در استورد پروسیجر هر دو nvarchar هستند با روشی که دوستمون A.S.Roma هم گفتن جواب نداد

pashna
پنج شنبه 23 شهریور 1391, 09:52 صبح
اگر میشد SP تون تو اینجا بذرید خیلی‌ راحت تر میشد کمک کرد

sanaz.dadkhah
پنج شنبه 23 شهریور 1391, 10:35 صبح
ALTER PROCEDURE [dbo].[tag_select_search] @parm nvarchar(50)
AS
SET NOCOUNT ON;
SELECT dbo.tag.tag, dbo.tag.id_download, dbo.tag.id_tag, dbo.download.sub_group_id, dbo.download.title, dbo.download.number_bazdid, dbo.download.photo_url,
dbo.download.id_writer, dbo.download.id_rahnama, dbo.download.data_add, dbo.download.edame_matlab, dbo.sub_group.sub_group_name, dbo.sub_group.group_id,
dbo.sub_group.sub_group_name_en, dbo.[group].group_name_en, dbo.[group].group_name, dbo.[group].main_cat_id, dbo.writer.writer, dbo.rahnama.rahnama,
dbo.main_cat.name_maincat, dbo.main_cat.page_url
FROM dbo.tag INNER JOIN
dbo.download ON dbo.tag.id_download = dbo.download.download_id INNER JOIN
dbo.sub_group ON dbo.download.sub_group_id = dbo.sub_group.sub_group_id INNER JOIN
dbo.[group] ON dbo.sub_group.group_id = dbo.[group].group_id INNER JOIN
dbo.main_cat ON dbo.[group].main_cat_id = dbo.main_cat.main_cat_id INNER JOIN
dbo.rahnama ON dbo.download.id_rahnama = dbo.rahnama.id_rahnama INNER JOIN
dbo.writer ON dbo.download.id_writer = dbo.writer.id_writer
WHERE (dbo.tag.tag =N''+ @parm)

A.S.Roma
پنج شنبه 23 شهریور 1391, 17:55 عصر
مشکلتون از جای دیگه است :
اسکریپت زیر رو اجرا کنید :

DECLARE @Temp TABLE(Tag NVARCHAR(256) COllate Persian_100_CI_AI)

INSERT INTO @Temp VALUES(N'تست')
INSERT INTO @Temp VALUES(N'ورزشی')
INSERT INTO @Temp VALUES(N'اجتماعی')
INSERT INTO @Temp VALUES(N'اقتصادی')

DECLARE @Filter NVARCHAR(256)= N'ورزشی'

SELECT * FROM @Temp WHERE Tag LIKE N'' + @Filter