Share via


SqlDataReader.GetValues(Object[]) Método

Definición

Rellena una matriz de objetos con los valores de columna de la fila actual.

public:
 override int GetValues(cli::array <System::Object ^> ^ values);
public override int GetValues (object[] values);
override this.GetValues : obj[] -> int
Public Overrides Function GetValues (values As Object()) As Integer

Parámetros

values
Object[]

Matriz de Object en la que se copian las columnas de atributos.

Devoluciones

El número de instancias de Object en la matriz.

Implementaciones

Ejemplos

En el ejemplo siguiente se muestra el uso de una matriz de tamaño correcto para leer todos los valores de la fila actual en el proporcionado SqlDataReader. Además, el ejemplo muestra el uso de una matriz de tamaño fijo que podría ser menor o mayor que el número de columnas disponibles.

// using Microsoft.Data.SqlClient;
private static void TestGetValues(SqlDataReader reader)
{
    // Given a SqlDataReader, use the GetValues
    // method to retrieve a full row of data.
    // Test the GetValues method, passing in an array large
    // enough for all the columns.
    Object[] values = new Object[reader.FieldCount];
    int fieldCount = reader.GetValues(values);

    Console.WriteLine("reader.GetValues retrieved {0} columns.",
        fieldCount);
    for (int i = 0; i < fieldCount; i++)
        Console.WriteLine(values[i]);

    Console.WriteLine();

    // Now repeat, using an array that may contain a different 
    // number of columns than the original data. This should work correctly,
    // whether the size of the array is larger or smaller than 
    // the number of columns.

    // Attempt to retrieve three columns of data.
    values = new Object[3];
    fieldCount = reader.GetValues(values);
    Console.WriteLine("reader.GetValues retrieved {0} columns.",
        fieldCount);
    for (int i = 0; i < fieldCount; i++)
        Console.WriteLine(values[i]);
}

Comentarios

Para la mayoría de las aplicaciones, este método proporciona un medio eficaz para recuperar todas las columnas, en lugar de recuperar cada columna individualmente.

Puede pasar una Object matriz que contenga menos del número de columnas contenidas en la fila resultante. Solo la cantidad de datos que contiene la Object matriz se copia en la matriz. También puede pasar una Object matriz cuya longitud sea mayor que el número de columnas contenidas en la fila resultante.

Este método devuelve DBNull para columnas nulas de la base de datos.

Se aplica a