4
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

4

2 回答 2

10

在您的代码中,您初始化gldCredit,然后更新gldDebit。您的gldCredit参数永远不会设置任何成员,因此ParaameterName默认设置为"@Paremeter1".

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

于 2012-10-11T16:54:07.013 回答
1

分享给未来的读者——

@ParameterName当您的C#代码中的 in 与@Parameter_Namein不同时,也会引发此错误stored-procedures

于 2016-01-14T15:17:57.203 回答