【问题标题】:How can I pass sp parameter with N prefix如何传递带有 N 前缀的 sp 参数
【发布时间】:2016-03-16 22:10:46
【问题描述】:

我想传递一个带有N前缀的参数给sp,以解决外文字符识别为???的问题,我不能直接输入N@test,尝试了不同的方法,没有运气。

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

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

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

【问题讨论】:

    标签: c# sql asp.net .net


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      N 前缀表示您的字符串是 UNICODE 格式。

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

      因此,您不需要在变量开头使用 N 线性。

      【讨论】:

        猜你喜欢
        • 2011-07-09
        • 2015-02-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-11-08
        • 2012-12-11
        • 2011-01-18
        • 1970-01-01
        相关资源
        最近更新 更多