我得到"转换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是整数。
如果您知道的话,能否请您提出一些解决方案。
谢谢!
答案 0 :(得分:0)
您应该将@UserID nchar(10)
更改为@UserID INT
。
答案 1 :(得分:0)
您可以在以下内容CAST
vc_UserID
至NCHAR
:
WHERE CAST(person.vc_UserID AS NCHAR(10)) = @UserID
或者将变量@UserID
的数据类型更改为INT