Expandir Minimizar
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

SqlDataReader.GetOrdinal (Método)

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

Espacio de nombres:  System.Data.SqlClient
Ensamblado:  System.Data (en System.Data.dll)
public override int GetOrdinal(
	string name
)

Parámetros

name
Tipo: System.String
El nombre de la columna.

Valor devuelto

Tipo: System.Int32
Índice de columna de base cero.

Implementaciones

IDataRecord.GetOrdinal(String)
ExcepciónCondición
IndexOutOfRangeException

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

GetOrdinal realiza primero una búsqueda en la que se distingue entre mayúsculas y minúsculas. Si se produce un error, se hace una segunda búsqueda sin distinción entre mayúsculas y minúsculas (la comparación sin distinción entre mayúsculas y minúsculas se lleva a cabo utilizando la intercalación de bases de datos). Si las operaciones de comparación se ven afectadas por las reglas de mayúsculas y minúsculas específicas de la referencia cultural, pueden obtenerse resultados inesperados. En el siguiente ejemplo, en turco, se generan resultados no válidos porque el sistema de archivos turco no utiliza las reglas lingüísticas de mayúsculas y minúsculas para la letra "i" de "file". El método inicia una excepción IndexOutOfRange si no se encuentra el índice de columna de base cero.

GetOrdinal no distingue el ancho kana.

Como las búsquedas basadas en ordinales son más eficaces que las de nombres, es inútil llamar a GetOrdinal en 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 utilizar 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

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)

Adiciones de comunidad

AGREGAR
© 2013 Microsoft. Reservados todos los derechos.