Compartilhar via


IDataRecord.GetOrdinal(String) Método

Definição

Retorna o índice do campo nomeado.

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

Parâmetros

name
String

O nome do campo a ser localizado.

Retornos

O índice do campo nomeado.

Exemplos

O exemplo a seguir demonstra como usar o método herdado 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

Comentários

GetOrdinal executa uma pesquisa que diferencia maiúsculas de minúsculas primeiro. Se falhar, uma segunda pesquisa que não diferencia maiúsculas de minúsculas será feita. GetOrdinal não distingue largura de kana. Se o índice do campo nomeado não for encontrado, um IndexOutOfRangeException será gerado.

Como pesquisas baseadas em ordinais são mais eficientes do que pesquisas por nome, é ineficiente chamar GetOrdinal dentro de um loop. Economize tempo chamando GetOrdinal uma vez e atribuindo os resultados a uma variável de inteiro para uso dentro do loop.

Aplica-se a