vb.net调用sql server存储过程调用有关问题,为什么总是出错呢

vb.net调用sql server存储过程调用问题,为什么总是出错呢
存储过程:

ALTER   PROCEDURE   SP_Ck_Set_Size_Stkbn  
  @RSLTNO   VARCHAR(9)  
,@RSLT   VARCHAR(1)  
,@MSGID   VARCHAR(8)  
,@DBUSER   VARCHAR(10)  
,@RSLTDTLNO   VARCHAR(9)   OUTPUT  
,@COUNTER   INT   OUTPUT  
  AS
BEGIN
--do   something
END

-----------------------------------
参数定义方法:
Public   Shared   Function   MakeParameter(ByVal   pParameterName   As   String   _
                                                                ,   ByVal   pSqlDbType   As   SqlDbType   _
                                                                ,   ByVal   pSize   As   Integer   _
                                                                ,   ByVal   pParameterDirection   As   ParameterDirection   _
                                                                ,   Optional   ByVal   pValue   As   Object   =   Nothing)   As   SqlParameter

                Dim   retParam   As   New   SqlParameter(pParameterName,   pSqlDbType,   pSize)
                retParam.Direction   =   pParameterDirection
                retParam.Value   =   IIf((pValue   Is   Nothing),   vbNull.Variant,   pValue)

                Return   retParam

        End   Function
--------------------------------------
With   sqlcmd
                                .CommandType   =   CommandType.StoredProcedure
                                .CommandText   =   "SP_Ck_Set_Size_Stkbn "

                                .Parameters.Add(Common.MakeParameter( "@RSLTNO ",   _
                                                                SqlDbType.VarChar,   9,   ParameterDirection.Input,   SumNo))
                                .Parameters.Add(Common.MakeParameter( "@RSLT ",   _
                                                                SqlDbType.VarChar,   1,   ParameterDirection.Input,   Integer.Parse(RCRD_RSLT.ERR).ToString()))