OleDbDataReader.GetOrdinal(String) Método

Definición

Obtiene el índice de columna a partir del nombre de la columna determinado.

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

Parámetros

name
String

El nombre de la columna.

Devoluciones

Índice de la columna de base cero.

Implementaciones

Excepciones

El nombre especificado no es un nombre de columna válido.

Ejemplos

En el siguiente ejemplo se muestra cómo se utiliza el método 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

Comentarios

GetOrdinal realiza primero una búsqueda que distingue mayúsculas de minúsculas. Si se produce un error, se realiza una segunda búsqueda sin distinción entre mayúsculas y minúsculas. El método produce una IndexOutOfRange excepción si no se encuentra el ordinal de columna de base cero.

GetOrdinal no distingue el ancho de kana.

Dado que las búsquedas basadas en ordinales son más eficaces que las basadas en nombres, resulta poco útil llamar a GetOrdinal dentro de un bucle. Ahorre tiempo llamando a GetOrdinal una vez y asignando los resultados a una variable de entero para su uso en el bucle .

Se aplica a

Consulte también