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 |