Compartilhar via


OdbcDataReader.GetOrdinal(String) Método

Definição

Obtém a ordinal da coluna, de acordo com o nome da coluna.

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

Parâmetros

value
String

O nome da coluna.

Retornos

O ordinal da coluna baseado em zero.

Implementações

Exemplos

O exemplo a seguir demonstra como usar o GetOrdinal método .

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. O método gerará uma exceção IndexOutOfRange se o ordinal de coluna baseado em zero não for encontrado.

GetOrdinal não distingue largura de kana.

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

Aplica-se a

Confira também