DataTableReader::GetValues Method (array<Object^>^)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Populates an array of objects with the column values of the current row.

Namespace:   System.Data
Assembly:  System.Data (in System.Data.dll)

virtual int GetValues(
	array<Object^>^ values
) override


Type: array<System::Object^>^

An array of Object into which to copy the column values from the DataTableReader.

Return Value

Type: System::Int32

The number of column values copied into the array.

Exception Condition

The index passed was outside the range of 0 to FieldCount - 1.


An attempt was made to retrieve data from a deleted row.


An attempt was made to read or access a column in a closed DataTableReader .

For most applications, this method provides an efficient means for retrieving all columns, instead of retrieving each column individually. If your intent is to retrieve all the column values from a row within the DataTableReader, the GetValues method provides the most efficient solution.

You can pass an Object array that contains fewer than the number of columns that are contained in the resulting row. Only the amount of data the Object array can hold is copied to the array. You can also pass an Object array whose length is more than the number of columns that are contained in the resulting row, in which case the additional array elements remains unchanged by the method call.

This method places DBNull in the output array for null columns.

The following example demonstrates using an array that is the correct size, to read all values from the current row in the supplied DataTableReader. In addition, the sample demonstrates using a fixed-sized array that could be either smaller or larger than the number of available columns.

No code example is currently available or this language may not be supported.

.NET Framework
Available since 2.0
Return to top