IDataRecord.GetOrdinal(String) Метод

Определение

Возвращает индекс именованного поля.

public:
 int GetOrdinal(System::String ^ name);
public int GetOrdinal(string name);
abstract member GetOrdinal : string -> int
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 (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcCommand command = new OdbcCommand(queryString, connection);

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

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

        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }

        // Call Close when done reading.
        reader.Close();
    }
}
Public Sub ReadData(ByVal connectionString As String)
    Dim queryString As String = "SELECT DISTINCT CustomerID FROM Orders"

    Using connection As New OdbcConnection(connectionString)
        Dim command As New OdbcCommand(queryString, connection)

        connection.Open()

        Dim reader As OdbcDataReader = command.ExecuteReader()

        Dim customerID As Integer = reader.GetOrdinal("CustomerID")

        While reader.Read()
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID))
        End While

        ' Call Close when done reading.
        reader.Close()
    End Using
End Sub

Комментарии

GetOrdinal сначала выполняет поиск с учетом регистра. При сбое выполняется второй поиск без учета регистра. GetOrdinal не учитывает ширину kana. Если индекс именованного поля не найден, IndexOutOfRangeException создается исключение.

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

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