Доступные версии документации

GetOrdinal

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

Синтаксис
public abstract int GetOrdinal(string name);

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

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

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

Для неименованных полей узнать их порядковый номер нельзя.

Для полей с одинаковыми именами, но разными владельцами (например, auto.personid, person.personid) в одной выборке возвращается порядковый номер первого найденного поля.

Для полей с одинаковыми именами типа select 100 as aaa, 200 as aaa возвращается порядковый номер первого найденного поля.

Исключения
IndexOutOfRangeException
Поле с таким именем не существует.
Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class GetOrdinal
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Соединение с БД
    DbConnection con = factory.CreateConnection();
    con.ConnectionString =
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER";
    con.Open();
    // Создание объекта DbCommand
    DbCommand cmd = factory.CreateCommand();
    cmd.Connection = con;
    // Формирование текста SQL-запроса
    cmd.CommandText =
      "Select model, sysdate as \"Текущая дата\" from auto limit 2";
    // Выполнение SQL-запроса
    DbDataReader reader = cmd.ExecuteReader();
    // Обработка результатов запроса
    int fieldOrdinal0 = reader.GetOrdinal("model");
    int fieldOrdinal1 = reader.GetOrdinal("Текущая дата");
    Console.WriteLine("| {0} | {1} |", fieldOrdinal0, fieldOrdinal1);
    // Освобождение ресурсов
    reader.Dispose();
    cmd.Dispose();
    con.Dispose();
  }
}

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

| 0 | 1 |
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter