PDA

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



marjan_gh
دوشنبه 22 اردیبهشت 1393, 16:18 عصر
من یه پراسیجر نوشتم که بیام باهاش تگ هامو شناسایی کنم مشکل اینه که تا الان داشتم انگلیسی کار می کردم درست بود به محض اینکه رشته ورودی شده فارسی دیگه کار نمی کنه!

ALTER PROCEDURE [dbo].[test] @tag nvarchar(max),@postId int


AS


declare @lentags int,@i int,@char nvarchar( 50),@string nvarchar(max),@x int,@set nvarchar(50)
BEGIN


SET NOCOUNT ON;
set @string=''
set @lentags=len(@tag)
set @i=1
while(@i<=@lentags)
begin
set @char=SUBSTRING(@tag,@i,1)
if(@char!='/')
begin
set @string = @string + @char
set @i=@i+1
continue
end
if exists (select tagId from tblTags where tagName=@string)
begin
set @set=(select tagId from tblTags where tagName=@string)
insert into tblPostTag (tagId,postId)values(@set,@postId)
end
else
begin
insert into tblTags (tagName,tagVisibility)values(@string,'true')
set @set=(select max(tagId) from tblTags)
insert into tblPostTag (tagId,postId)values(@set,@postId)
end
set @string=''
set @i=@i+1
end
END

rezayeman
سه شنبه 23 اردیبهشت 1393, 07:37 صبح
از حرف N استفاده کن مشکلت حل میشه

به عنوان مثال

WHERE colname = N'کلمه مورد نظر'