GetValues

Метод предоставляет массив значений полей текущей строки выборки данных в виде .NET-объектов.

Размерность массива для заполнения значениями может не совпадать с количеством полей текущей строки выборки данных. В этом случае заполнение массива выполняется либо в соответствии с его фактическим размером (если размер массива меньше или равен количеству полей в строке), и null-значениями в остальных элементах массива.

Для столбца БД со значениями NULL возвращается объект DBNull.

Синтаксис
public abstract int GetValues(Object[] values);

values – массив элементов типа Object, в котором должны быть представлены значения полей выборки.

Возвращаемое значение

Количество элементов в массиве.

Исключения
ArgumentNullException Параметр values имеет значение null.
InvalidOperationException Не установлена текущая строка выборки данных (необходимо выполнить метод Read()).
Пример
// C#
using System;
using System.Data;
using System.Data.Common;

class GetValues
{
  static void Main()
  {
    // Создание фабрики классов провайдера
    DbProviderFactory factory =
      DbProviderFactories.GetFactory("System.Data.LinterClient");
    // Соединение с БД
    DbConnection con = factory.CreateConnection();
    con.ConnectionString =
      "Data Source=LOCAL;User ID=SYSTEM;Password=MANAGER8";
    con.Open();
    // Создание объекта DbCommand
    DbCommand cmd = factory.CreateCommand();
    cmd.Connection = con;
    // Формирование текста SQL-запроса
    cmd.CommandText = "select make, model from auto limit 2";
    // Выполнение SQL-запроса
    DbDataReader reader = cmd.ExecuteReader();
    // Обработка результатов запроса
    while (reader.Read())
    {
      object[] values = new object[reader.FieldCount];
      reader.GetValues(values);
      for (int i = 0; i <  values.Length; i++)
      {
        Console.Write(values[i] + " | ");
      }
      Console.WriteLine();
    }
    // Освобождение ресурсов
    reader.Dispose();
    cmd.Dispose();
    con.Dispose();
  }
}

Результат выполнения примера:

FORD                 | MERCURY COMET GT V8  |
ALPINE               | A-310                |