private ParameterDirection GetParameterDirection(ADODB.ParameterDirectionEnum direction)
        {
            switch (direction)
            {
            case ADODB.ParameterDirectionEnum.adParamInput: return(ParameterDirection.Input);

            case ADODB.ParameterDirectionEnum.adParamInputOutput: return(ParameterDirection.InputOutput);

            case ADODB.ParameterDirectionEnum.adParamOutput: return(ParameterDirection.Output);

            case ADODB.ParameterDirectionEnum.adParamReturnValue: return(ParameterDirection.ReturnValue);

            default: return(ParameterDirection.Input);
            }
        }
        protected ADODB.ParameterDirectionEnum ParamDirectionToADODirection(ParameterDirection dir)
        {
            ADODB.ParameterDirectionEnum ret = ADODB.ParameterDirectionEnum.adParamInput;

            switch (dir)
            {
            case ParameterDirection.Input: ret = ADODB.ParameterDirectionEnum.adParamInput; break;

            case ParameterDirection.InputOutput: ret = ADODB.ParameterDirectionEnum.adParamInputOutput; break;

            case ParameterDirection.Output: ret = ADODB.ParameterDirectionEnum.adParamOutput; break;

            case ParameterDirection.ReturnValue: ret = ADODB.ParameterDirectionEnum.adParamReturnValue; break;

            default: throw new ArgumentOutOfRangeException("dir");
            }

            return(ret);
        }