@ Parameter1不是过程的参数

vin*_*ini 4 c# sql asp.net stored-procedures c#-4.0

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
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

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

Jon*_*yna 9

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

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