Ошибка преобразования типа данных nvarchar в int - PullRequest
5 голосов
/ 31 марта 2012

Я получаю ошибку

Ошибка преобразования типа данных 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

1 Ответ

8 голосов
/ 31 марта 2012

Похоже, что regno - это тип данных nvarchar в вашей таблице, и вы передали int через вашу процедуру, либо используйте приведение и преобразуйте @regno в nvarchar, либо измените тип данных regno на целое в таблице. 1001 *

DECLARE @regnocast NVARCHAR(15)

SET @regnocast = CAST(@regno AS NVARCHAR)

Тогда в ваших предложениях SELECT, INSERT и WHERE используйте @regnocast вместо @ regno

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...