转换nvarchar值时转换失败'未定义'到数据类型int

时间:2015-06-11 12:58:54

标签: c# mysql sql stored-procedures

我得到"转换nvarchar值时转换失败'未定义'数据类型int"从我的存储过程。这是从WCF服务调用。 以下是我的存储过程的示例格式。

ALTER Procedure [dbo].[sp_GetLang]
(
@UserID nchar(10),
@Return nchar(10)='' output
)AS BEGIN
SET NOCOUNT ON;
SELECT @Return = vc_LanguageName 
FROM [dbo].[vc_UserPrefrences] person INNER JOIN
[dbo].[vc_Languages] lang on person.vc_LanguagID = lang.vc_LanguageID
WHERE person.vc_UserID = @UserID
END

这里只有person.vc_UserID和vc_languageid是整数。

如果您知道的话,能否请您提出一些解决方案。

谢谢!

2 个答案:

答案 0 :(得分:0)

您应该将@UserID nchar(10)更改为@UserID INT

答案 1 :(得分:0)

您可以在以下内容CAST vc_UserIDNCHAR

WHERE CAST(person.vc_UserID AS NCHAR(10)) = @UserID

或者将变量@UserID的数据类型更改为INT