GetDecimal

Метод предоставляет значение типа Decimal указанного поля текущей строки выборки данных.

Метод применяется только к столбцам типа DECIMAL (NUMERIC).

Синтаксис
public abstract decimal GetDecimal(int ordinal);

ordinal – порядковый номер поля в текущей строке выборки данных (отсчет начинается с 0).

Возвращаемое значение

Значение типа System.Decimal указанного поля текущей строки выборки данных.

Исключения
InvalidCastException Невозможно преобразовать тип данных указанного столбца к типу данных decimal.
IndexOutOfRangeException Задан порядковый номер несуществующего столбца.
InvalidOperationException Не установлена текущая строка выборки данных (необходимо выполнить метод Read()).
Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class GetDecimal
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Соединение с БД
    DbConnection con = factory.CreateConnection();
    con.ConnectionString =
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
    con.Open();
    // Создание объекта DbCommand
    DbCommand cmd = factory.CreateCommand();
    cmd.Connection = con;
    // Формирование текста SQL-запроса
    cmd.CommandText =
      "Select distinct cast year+1900 as decimal from auto limit 2";
    // Выполнение SQL-запроса
    DbDataReader reader = cmd.ExecuteReader();
    // Обработка результатов запроса
    decimal value;
    while (reader.Read())
    {
      value = reader.GetDecimal(0);
      Console.WriteLine(value);
    }
    // Освобождение ресурсов
    reader.Dispose();
    cmd.Dispose();
    con.Dispose();
  }
}

Результат выполнения примера:

1970
1971