我有一个ASP.net页面。在那里,我可以将非英语语言字符输入到输入控件(如文本框)中。我想将它作为相同的语言字符存储在我的SQL Server 2000数据库中。
我将值作为字符串传递给我的存储过程中的nvarchar
变量。
我的问题是,如果要将值存储在nvarchar
字符中,则必须添加N
作为前缀。如何在N
的前缀中添加此sp_variable
?
感谢。
答案 0 :(得分:5)
您只需要添加N
前缀,以指示SQL查询中的硬编码字符串值为nvarchar
。 C#string
映射到SQL Server的varchar
和nvarchar
。
为了让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);