DataTableReader.GetValues(Object[]) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Remplit un tableau d'objets avec les valeurs de colonne de la ligne en cours.
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
Paramètres
- values
- Object[]
Tableau de Object dans lequel copier les valeurs des colonnes à partir du DataTableReader.
Retours
Nombre de valeurs de colonne copiées dans le tableau.
Exceptions
L'index passé était en dehors de la plage comprise entre 0 et FieldCount - 1.
Une tentative a été effectuée pour récupérer des données à partir d'une ligne supprimée.
Une tentative de lecture d’une colonne ou d’accès à une colonne dans un DataTableReader fermé a été effectuée.
Exemples
L’exemple suivant illustre l’utilisation d’un tableau de la taille appropriée pour lire toutes les valeurs de la ligne actuelle dans le fourni DataTableReader. En outre, l’exemple illustre l’utilisation d’un tableau de taille fixe qui peut être plus petit ou plus grand que le nombre de colonnes disponibles.
private static void TestGetValues(DataTableReader reader)
{
// Given a DataTableReader, 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]);
}
Private Sub TestGetValues(ByVal reader As DataTableReader)
' Given a DataTableReader, 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.
Dim values(reader.FieldCount - 1) As Object
Dim fieldCount As Integer = reader.GetValues(values)
Console.WriteLine("reader.GetValues retrieved {0} columns.", _
fieldCount)
For i As Integer = 0 To fieldCount - 1
Console.WriteLine(values(i))
Next
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.
ReDim values(2)
fieldCount = reader.GetValues(values)
Console.WriteLine("reader.GetValues retrieved {0} columns.", _
fieldCount)
For i As Integer = 0 To fieldCount - 1
Console.WriteLine(values(i))
Next
End Sub
Remarques
Pour la plupart des applications, cette méthode fournit un moyen efficace de récupérer toutes les colonnes, au lieu de récupérer chaque colonne individuellement. Si votre intention est de récupérer toutes les valeurs de colonne d’une ligne dans , DataTableReaderla GetValues
méthode fournit la solution la plus efficace.
Vous pouvez passer un Object tableau qui contient moins que le nombre de colonnes contenues dans la ligne résultante. Seule la quantité de données que le Object
tableau peut contenir est copiée dans le tableau. Vous pouvez également passer un Object
tableau dont la longueur est supérieure au nombre de colonnes contenues dans la ligne résultante, auquel cas les éléments de tableau supplémentaires restent inchangés par l’appel de méthode.
Cette méthode place DBNull
dans le tableau de sortie pour les colonnes null.