如何使用N前缀传递sp参数

时间:2016-03-16 22:10:47

标签: c# sql asp.net .net

我想将参数传递给带有N前缀的sp来解决外语字符被识别为???的问题,我不能直接把N @ test,尝试不同的方法没有运气。

我有一个aspx.cs代码文件,我调用了sp,我想做类似以下的事情:

DECLARE @test NVARCHAR = 'N"★ "' 
create table test (abc nvarchar) 
insert into test values (@test) 
select * from test 

上面的代码只是一个例子,我将值传递给.NET中的参数,我该怎么做?

2 个答案:

答案 0 :(得分:1)

您不需要N前缀。您可以将参数类型指定为SqlDbType.NVarChar以及大小。 .Net将负责保留文本编码。

var foo = new SqlParameter("@test ", SqlDbType.NVarChar, 30)

答案 1 :(得分:1)

N前缀表示您的字符串位于UNICODE中。

当您将变量声明为NVARCHAR时,它已经是UNICODE。

因此,您在变量的开头不需要这个N直线。