Язык

OleDbDataReader.GetOrdinal(String) Метод

Определение

Получает порядковый номер столбца с именем столбца.

public:
 override int GetOrdinal(System::String ^ name);
public:
 virtual int GetOrdinal(System::String ^ name);
public override int GetOrdinal(string name);
public int GetOrdinal(string name);
override this.GetOrdinal : string -> int
abstract member GetOrdinal : string -> int
override this.GetOrdinal : string -> int
Public Overrides Function GetOrdinal (name As String) As Integer
Public Function GetOrdinal (name As String) As Integer

Параметры

name
String

Имя столбца.

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

Порядковый номер столбца от нуля.

Реализации

Исключения

Указанное имя не является допустимым именем столбца.

Примеры

В следующем примере показано, как использовать GetOrdinal метод.

public static void ReadData(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM Orders";
    using (OleDbConnection connection = new OleDbConnection(connectionString))
    {
        OleDbCommand command = new OleDbCommand(queryString, connection);

        connection.Open();
        OleDbDataReader reader = command.ExecuteReader();

        int customerID = reader.GetOrdinal("CustomerID");

        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }
        reader.Close();
    }
}
Public Sub ReadData(ByVal connectionString As String)
    Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"

    Using connection As New OleDbConnection(connectionString)
        Dim command As New OleDbCommand(queryString, connection)

        connection.Open()

        Dim reader As OleDbDataReader = command.ExecuteReader()

        Dim customerID As Integer = reader.GetOrdinal("CustomerID")
        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
        End While
        reader.Close()
    End Using
End Sub

Комментарии

GetOrdinal сначала выполняет поиск с учетом регистра. При сбое выполняется второй поиск без учета регистра. Метод создает IndexOutOfRange исключение, если порядковый номер столбца от нуля не найден.

GetOrdinal не учитывает ширину kana.

Так как порядковые подстановки более эффективны, чем именованные подстановки, неэффективны для вызова GetOrdinal в цикле. Сэкономить время, вызвав GetOrdinal один раз и назначив результаты целочисленной переменной для использования в цикле.

Применяется к

См. также раздел