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); } } }