Передача параметров в SQL команду
Пытаюсь перебросить параметры из одной команды в другую:
Код:
SqlCommand1.Parameters.Add(SqlCommand2.Parameters[0]);
Вышибает сообщение, о том что данный параметр уже принадлежит другой коллекции параметров.
С чем это может быть связано, если вот такой вариант
Код:
SqlCommand1 = SqlCommand2;
работает?
Цитата: Balda
С чем это может быть связано, если вот такой вариант
работает?
Код:
SqlCommand1 = SqlCommand2;
Начинаем думать:
- Где находится объект SqlCommand1?
- В куче.
- А что тогда SqlCommand1?
- Ссылка на этот объект.
- А SqlCommand2?
- Тоже ссылка.
Т.о. если мы присвоим значение одной ссылки (SqlCommand2) другой (SqlCommand1) то они будут ссылаться на один и тот же объект.
Цитата: Balda
VS .NET 2008, C#.
Пытаюсь перебросить параметры из одной команды в другую:
Код:
SqlCommand1.Parameters.Add(SqlCommand2.Parameters[0]);
Попробуйте
Код:
SqlParameter sql_par_copy = (SqlParameter)((IClonable)SqlCommand2.Parameters[0]).Clone();
SqlCommand1.Parameters.Add(sql_par_copy)
SqlCommand1.Parameters.Add(sql_par_copy)
Теперь всё работает :)