DataTableReader.GetDecimal(Int32) Method

Definition

Gets the value of the specified column as a Decimal.

public override decimal GetDecimal (int ordinal);

Parameters

ordinal
Int32

The zero-based column ordinal.

Returns

The value of the specified column.

Exceptions

The index passed was outside the range of 0 to FieldCount - 1.

An attempt was made to retrieve data from a deleted row.

An attempt was made to read or access a column in a closed DataTableReader.

The specified column does not contain a Decimal value.

Examples

The following example displays the contents of the column numbered 2 within the passed-in DataTableReader. If the value the column within a particular row is null, the code displays the text <NULL>. If the data within the column is not of the correct type, the example displays an error message for each row.

private static void PrintColumn(DataTableReader reader)
{
    // Loop through all the rows in the DataTableReader
    while (reader.Read())
    {
        if (reader.IsDBNull(2))
        {
            Console.Write("<NULL>");
        }
        else
        {
            try
            {
                Console.Write(reader.GetDecimal(2));
            }
            catch (InvalidCastException)
            {
                Console.Write("Invalid data type.");
            }
        }
        Console.WriteLine();
    }
}

Remarks

No conversions are performed; therefore the data retrieved must already be a Decimal or coercible to a Decimal.

Call IsDBNull to see if there are null values before calling this method.

Applies to

Product Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1