如何在NVARCHAR的前缀中隐式添加N.

时间:2015-11-03 04:53:27

标签: asp.net sql-server database tsql

我有一个ASP.net页面。在那里,我可以将非英语语言字符输入到输入控件(如文本框)中。我想将它作为相同的语言字符存储在我的SQL Server 2000数据库中。

我将值作为字符串传递给我的存储过程中的nvarchar变量。

我的问题是,如果要将值存储在nvarchar字符中,则必须添加N作为前缀。如何在N的前缀中添加此sp_variable

感谢。

1 个答案:

答案 0 :(得分:5)

您只需要添加N前缀,以指示SQL查询中的硬编码字符串值为nvarchar。 C#string映射到SQL Server的varcharnvarchar

为了让SQL知道你传递unicode字符串,你应该这样做:

var cmd  = new SqlCommand("your_sp_name", sqlConn);
var sp_param = new SqlParameter("@sp_variable", SqlDbType.NVarChar);
sp_param.Value = "unicode_chars_string_value";
cmd.Parameters.Add(sp_param);