通过参数SQL Server插入带有存储过程的西里尔字符串

时间:2016-06-09 13:17:04

标签: sql-server stored-procedures

我在存储过程中有以下insert语句:

INSERT INTO Persons (ID, Name, LocationID) 
VALUES (@MaxId, @Name, @LocationID)

它工作正常,直到我得到一个带有西里尔字符的名字(即дом),它添加了一个名字= ???

的记录

我知道我可以使用类似的东西:

INSERT INTO Assembly 
VALUES(N'Македонски парлиамент број 1', '', '');

但是如何将它与SQL参数一起使用?

由于

1 个答案:

答案 0 :(得分:3)

基本上,您应该检查以下内容:

  1. @Name变量是NVARCHAR类型吗?如果是VARCHAR类型,则无法正确存储您的西里尔字母值。
  2. 如果您自己设置@Name值,请检查字符串值之前是否有N(如您的示例所示)