/// <summary>
        /// Retrieve the column as a decimal value
        /// </summary>
        /// <param name="i">The index of the column to retrieve</param>
        /// <returns>decimal</returns>
        public override decimal GetDecimal(int i)
        {
            if (i >= VisibleFieldCount && _keyInfo != null)
            {
                return(_keyInfo.GetDecimal(i - VisibleFieldCount));
            }

            VerifyType(i, DbType.Decimal);
            return(Decimal.Parse(_activeStatement._sql.GetText(_activeStatement, i), NumberStyles.AllowDecimalPoint | NumberStyles.AllowExponent, CultureInfo.InvariantCulture));
        }
        /// <summary>
        /// Retrieve the column as a decimal value
        /// </summary>
        /// <param name="i">The index of the column to retrieve</param>
        /// <returns>decimal</returns>
        public override decimal GetDecimal(int i)
        {
#if MONO_SUPPORT_KEYREADER
            if (i >= VisibleFieldCount && _keyInfo != null)
            {
                return(_keyInfo.GetDecimal(i - VisibleFieldCount));
            }
#endif

            VerifyType(i, DbType.Decimal);
            return(Convert.ToDecimal(_activeStatement._sql.GetDouble(_activeStatement, i)));
        }