AddRange
Метод добавляет в конец коллекции параметров массив параметров.
В коллекции параметров при каждом добавлении выделяется необходимый ресурс для размещения добавляемого массива параметров.
Максимальное количество параметров коллекции с учетом добавленного массива параметров и максимальный размер массива добавляемых параметров ограничены объемом доступной оперативной памяти и не могут быть больше значения Int32.MaxValue.
Синтаксис
public abstract void AddRange(Array values);
values – массив добавляемых параметров.
Элементы массива должны иметь тип данных DbParameter.
Возвращаемое значение
Значение типа void.
Исключения
ArgumentException
| Добавляемый параметр уже существует в коллекции. | |
InvalidCastException
| Переданный параметр не является LinterDbParameter. | |
ArgumentNullException
| Аргумент values содержит null-значение. | |
OutOfMemoryException,
OverflowException
| Превышено допустимое количество параметров в коллекции (недостаточно ресурсов). |
Пример
// C#
using System;
using System.Data;
using System.Data.Common;
class AddRangeSample
{
static void Main()
{
// Создание фабрики классов провайдера
DbProviderFactory factory =
DbProviderFactories.GetFactory("System.Data.LinterClient");
// Создание команды
DbCommand myCommand = factory.CreateCommand();
// Создание параметров
DbParameter param1 = factory.CreateParameter();
param1.ParameterName = "MAKE";
param1.DbType = DbType.String;
DbParameter param2 = factory.CreateParameter();
param2.ParameterName = "MODEL";
param2.DbType = DbType.String;
DbParameter param3 = factory.CreateParameter();
param3.ParameterName = "YEAR";
param3.DbType = DbType.Int32;
// Создание массива параметров
Array myArray = Array.CreateInstance(typeof(DbParameter), 3);
myArray.SetValue(param1, 0);
myArray.SetValue(param2, 1);
myArray.SetValue(param3, 2);
// Добавление массива параметров в коллекцию
myCommand.Parameters.AddRange(myArray);
// Отображение полученной коллекции
for (int i = 0; i < myCommand.Parameters.Count; i++)
{
Console.WriteLine(myCommand.Parameters[i].ParameterName);
}
}
}