Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método SqlDataReader.GetOrdinal (String)

 

Publicado: octubre de 2016

Obtiene el índice de columna, dado el nombre de la columna.

Espacio de nombres:   System.Data.SqlClient
Ensamblado:  System.Data (en System.Data.dll)

public override int GetOrdinal(
	string name
)

Parámetros

name
Type: System.String

El nombre de la columna.

Valor devuelto

Type: System.Int32

Índice de la columna de base cero.

Exception Condition
IndexOutOfRangeException

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

GetOrdinal realiza primero una búsqueda distingue mayúsculas de minúsculas. Si se produce un error, un segundo, se produce la búsqueda entre mayúsculas y minúsculas (se realiza una comparación entre mayúsculas y minúsculas con la intercalación de base de datos). Pueden producirse resultados inesperados cuando las comparaciones se ven afectadas por las reglas de mayúsculas y minúsculas específicas de la referencia cultural. Por ejemplo, en turco, en el ejemplo siguiente se genera resultados no válidos porque el sistema de archivos turco no utiliza reglas lingüísticas de mayúsculas y minúsculas para la letra 'i' de "archivo". El método produce una IndexOutOfRange excepción si no se encuentra el ordinal de columna de base cero.

GetOrdinal distingue kana y ancho de minúsculas.

Dado que las búsquedas basadas en ordinales son más eficaces que las de nombres, es inú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 utilizarla en el bucle.

En el siguiente ejemplo se muestra cómo se utiliza el método GetOrdinal.

private static void ReadGetOrdinal(string connectionString)
{
    string queryString = "SELECT DISTINCT CustomerID FROM dbo.Orders;";
    using (SqlConnection connection =
               new SqlConnection(connectionString))
    {
        SqlCommand command =
            new SqlCommand(queryString, connection);
        connection.Open();

        SqlDataReader reader = command.ExecuteReader();

        // Call GetOrdinal and assign value to variable.
        int customerID = reader.GetOrdinal("CustomerID");

        // Use variable with GetString inside of loop.
        while (reader.Read())
        {
            Console.WriteLine("CustomerID={0}", reader.GetString(customerID));
        }

        // Call Close when done reading.
        reader.Close();
    }
}

.NET Framework
Disponible desde 1.1
Volver al principio
Mostrar: