我收到错误
将数据类型nvarchar转换为int 时出错
代码:
ALTER procedure [dbo].[sp_rcdoc]
@regno int,
@appname varchar(50),
@DOI datetime,
@COV varchar(50),
@validtill date,
@imgloc varchar(500),
@ImagNo char(20),
@Purposecode varchar(50),
@FLAG varchar(3)
AS BEGIN
IF NOT EXISTS(SELECT regno FROM tblRCDocuments WHERE regno = @regno)
BEGIN
INSERT INTO tblRCDocuments(regno, appname, DOI, COV, validtill, imgloc, ImagNo, Purposecode, FLAG)
VALUES(@regno, @appname, @DOI, @COV, @validtill, @imgloc, @ImagNo, @Purposecode, @FLAG)
END
答案 0 :(得分:8)
看起来regno是表中的nvarchar数据类型,并且您已经通过您的过程传递了一个int,要么使用强制转换并将@regno转换为nvarchar,要么将regno数据类型更改为表中的整数。 / p>
DECLARE @regnocast NVARCHAR(15)
SET @regnocast = CAST(@regno AS NVARCHAR)
然后在SELECT,INSERT和WHERE子句中使用@regnocast而不是@regno