繁体   English   中英

@ Parameter1不是过程的参数

[英]@Parameter1 is not a parameter for procedure

ALTER PROCEDURE [dbo].[NST_InsertTblGenLedDet]
        @GHDHeader int,
      @Gldtype text,
      @GldAccount text,
      @GldDate DateTime, 
      @GldVoucherType int,
      @GldDebit   float=null,
      @GldCredit float= null,
      @GldDtaLine int= null
AS
DECLARE @ERR INT
BEGIN TRANSACTION
Insert into [TblGenLedDet] 
(GHDHeader,Gldtype,GldAccount,GldDate, GldVoucherType, GldDebit,GldCredit,GldDtaLine)
 values (@GHDHeader,@Gldtype,@GldAccount,@GldDate, @GldVoucherType, @GldDebit,@GldCredit,@GldDtaLine)



SET @ERR = @@Error
IF @ERR = 0   
BEGIN
      COMMIT TRANSACTION

END
ELSE
BEGIN
      ROLLBACK TRANSACTION
      RETURN @ERR               
END

在此输入图像描述

我一次又一次地收到此错误,虽然我已将参数名称指定为@GldCredit,但它将参数名称显示为Parameter1

在您的代码中,您初始化gldCredit ,但随后更新gldDebit 您的gldCredit参数永远不会设置任何成员,因此将其ParaameterName解除为"@Paremeter1"

看起来您复制/粘贴了用于设置参数的gldDebit代码,但忘记更新新代码块中的所有引用以指向gldCredit

分享给未来的读者 -

C#代码中的@Parameter_Namestored-procedures@ParameterName不同时,也会抛出此错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM