decimal GetDecimal (int i)
{
object value = GetValue (i);
if (!(value is decimal)) {
if (value is DBNull) throw new SqlNullValueException ();
throw new InvalidCastException ("Type is " + value.GetType ().ToString ());
}
return (decimal) value;
}