SQl プロシージャから戻って値を取得したいのですが、「パラメーター数がパラメーター値数と一致しません」というエラーが発生します。私のコードは次のとおりです。
public int getControlTypeIDByVal()
{
int retVal = 0;
try
{
SqlParameter[] _param = new SqlParameter[2];
_param[0] = new SqlParameter("@ControlName2", ControlName);
_param[1] = new SqlParameter("@RetVal", SqlDbType.Int);
_param[1].Direction = ParameterDirection.ReturnValue;
SqlDataAccess.ExecuteNonQuery(SqlDataAccess.ConnectionString, "PR_getControlTypeIDByVal", _param);
if (!clsCommonFn.isNullOrEmpty(_param[1].ToString()))
{
retVal = Convert.ToInt32(_param[1]);
}
}
catch (Exception e)
{
errorMsg = e.Message;
}
return retVal;
}
そしてSpは:-
CREATE PROCEDURE PR_getControlTypeIDByVal
@ControlName2 NVARCHAR(200)
AS
-- EXEC PR_getControlTypeIDByVal 'Jaisalmer 2N/3D'
BEGIN
DECLARE @retVal INT
SET @retVal=0
SELECT @retVal=ControlTypeID FROM ControlTypes
WHERE LTRIM(RTRIM(ControlName))=LTRIM(RTRIM(@ControlName2))
PRINT(@retVal)
RETURN @retVal
END
私を助けてください。
ありがとう