Sdílet prostřednictvím


SqlDataReader.GetValues(Object[]) Metoda

Definice

Naplní pole objektů hodnotami sloupců aktuálního řádku.

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

Parametry

values
Object[]

Pole Object , do kterého se mají kopírovat sloupce atributů.

Návraty

Počet instancí Object v poli.

Implementuje

Příklady

Následující příklad ukazuje použití matice správné velikosti ke čtení všech hodnot z aktuálního řádku v zadaném SqlDataReader. Kromě toho ukázka ukazuje použití pole s pevnou velikostí, které může být menší nebo větší než počet dostupných sloupců.

// 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]);
}

Poznámky

Pro většinu aplikací tato metoda poskytuje efektivní způsob pro načtení všech sloupců místo načtení jednotlivých sloupců.

Můžete předat matici Object , která obsahuje méně než počet sloupců obsažených ve výsledném řádku. Do pole se zkopíruje pouze množství dat, Object které pole obsahuje. Můžete také předat matici Object , jejíž délka je větší než počet sloupců obsažených ve výsledném řádku.

Tato metoda vrátí DBNull pro sloupce databáze s hodnotou null.

Platí pro