ОБСУЖДЕНИЕ

передача параметров в Sql команду

6 ответов 5,3 тыс.
AI-выжимка обсуждения скоро

Краткие тезисы обсуждения со ссылками на ключевые ответы появятся здесь.

Автор темы
VS .NET 2008, C#.
Пытаюсь перебросить параметры из одной команды в другую:
[codebox]
SqlCommand1.Parameters.Add(SqlCommand2.Parameters[0]);[/codebox]
Вышибает ошибку. С чем это может быть связано, если вот такой вариант
[codebox]SqlCommand1 = SqlCommand2;[/codebox]
работает?
 
Про ошибку будем догадываться?
 
Извините :wacko:
Вылазит сообщение, что данный параметр уже принадлежит другой коллекции параметров.
 
И что непонятно?
 
Непонятно почему можно создать две абсолютно одинаковые команды с одинаковыми параметрами, но нельзя передать параметры одной команды другой команде.
 
Потому что возникает конфликт при контроле над параметрами. Сами подумайте, к примеру, одна команда послала за прос и ожидает что в ответ в параметре придут данные, а в это время другая тоже посылает и благополучно "накрывает" все ожидания первой. Что в итоге мы получим? правильно, такое, что даже тут за это слово забанят.
Вощем думать надо иногда. :D
 
Проблема решена :(
Вот код:
[codebox]SqlParameter copy = (SqlParameter)((IClonable)SqlCommand2.Parameters[0]).Clone();
SqlCommand1.Parameters.Add(copy)[/codebox]