SqlDataReader.GetValues(Object[]) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Popula uma matriz de objetos com os valores da coluna da linha atual.
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
Retornos
O número de instâncias de Object na matriz.
Implementações
Exemplos
O exemplo a seguir demonstra como usar uma matriz de tamanho correto para ler todos os valores da linha atual no fornecido SqlDataReader. Além disso, o exemplo demonstra o uso de uma matriz de tamanho fixo que pode ser menor ou maior que o número de colunas disponíveis.
// 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]);
}
Comentários
Para a maioria dos aplicativos, esse método fornece um meio eficiente para recuperar todas as colunas, em vez de recuperar cada coluna individualmente.
Você pode passar uma Object matriz que contém menos do que o número de colunas contidas na linha resultante. Somente a quantidade de dados que a Object matriz contém é copiada para a matriz. Você também pode passar uma Object matriz cujo comprimento é maior que o número de colunas contidas na linha resultante.
Esse método retorna DBNull para colunas de banco de dados nulas.