/// <summary>
        /// Retrieves the column as an object corresponding to the underlying datatype of the column
        /// </summary>
        /// <param name="i">The index of the column to retrieve</param>
        /// <returns>object</returns>
        public override object GetValue(int i)
        {
            if (i >= VisibleFieldCount && _keyInfo != null)
            {
                return(_keyInfo.GetValue(i - VisibleFieldCount));
            }

            SQLiteType typ = GetSQLiteType(i);

            return(_activeStatement._sql.GetValue(_activeStatement, i, typ));
        }
        /// <summary>
        /// Retrieves the column as an object corresponding to the underlying datatype of the column
        /// </summary>
        /// <param name="i">The index of the column to retrieve</param>
        /// <returns>object</returns>
        public override object GetValue(int i)
        {
            CheckClosed();

#if MONO_SUPPORT_KEYREADER
            if (i >= VisibleFieldCount && _keyInfo != null)
            {
                return(_keyInfo.GetValue(i - VisibleFieldCount));
            }
#endif
            SqliteType typ = GetSqliteType(i);
            typ.Affinity = _activeStatement._sql.ColumnAffinity(_activeStatement, i);
            return(_activeStatement._sql.GetValue(_activeStatement, i, typ));
        }