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 |