更新関数を実行するたびに、プロシージャまたは関数に指定された引数が多すぎるというエラーが生成されます。根本的な原因が見つからないため、これを長時間見ていると思います。任意のガイダンスをいただければ幸いです。
私のVB.NETコードは次のとおりです。
Public Function UpdateGenInfo_E1_01_02(ByVal pstrCon As String, _
ByVal appNo As String, _
ByVal revNo As String, _
ByVal prName As String, _
ByVal prAddr As String, _
ByVal prAddr2 As String, _
ByVal prCity As String, _
ByVal prState As String, _
ByVal prZip As String) As Integer
Try
'Create parameter
Dim lsqlParams(8) As SqlParameter
'fill parameter
lsqlParams(0) = New SqlParameter("@AppNo", appNo)
lsqlParams(1) = New SqlParameter("@RevNo", revNo)
lsqlParams(2) = New SqlParameter("@PrName", prName)
lsqlParams(3) = New SqlParameter("@PrAddr", prAddr)
lsqlParams(4) = New SqlParameter("@PrAddr2", prAddr)
lsqlParams(5) = New SqlParameter("@PrCity", prCity)
lsqlParams(6) = New SqlParameter("@PrState", prState)
lsqlParams(7) = New SqlParameter("@PrZip", prZip)
'Return dataset
Return SqlHelper.ExecuteNonQuery(pstrCon, CommandType.StoredProcedure, "up_UpdateGenInfo_E1_01_02", lsqlParams)
Catch ex As Exception
'Throw error
Throw ex
End Try
End Function
私のストアドプロシージャは次のとおりです。
USE [EpUpdates]
GO
/****** Object: StoredProcedure [dbo].[up_UpdateGenInfo_E1_01_02] Script Date: 04/26/2013 12:00:24 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[up_UpdateGenInfo_E1_01_02]
(
@AppNo varchar(10),
@RevNo varchar(4),
@PrName varchar(10),
@PrAddr varchar(50),
@PrAddr2 varchar(50),
@PrCity varchar(30),
@PrState varchar(2),
@PrZip varchar(10)
)
AS
UPDATE EpUpdates.dbo.GenInfo_E1_01_02
SET PrName=@PrName,
PrAddr=@PrAddr,
PrAddr2= @PrAddr2,
PrCity=@PrCity,
PrState=@PrState,
PrZip=@PrZip
WHERE (AppNo = @AppNo)
AND (RevNo = @RevNo)