Поделиться через


OdbcDataReader.GetOrdinal(String) Метод

Определение

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

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

Параметры

value
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 сначала выполняет поиск с учетом регистра. В случае сбоя выполняется второй поиск без учета регистра. Метод создает исключение, IndexOutOfRange если порядковый номер столбца, отсчитываемый от нуля, не найден.

Метод GetOrdinal не учитывает ширину японской азбуки.

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

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

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