Возможно ли несколько запросов с использованием одного SqlCommand? - PullRequest
4 голосов
/ 01 октября 2009

Можно ли добавить несколько запросов к объекту SqlCommand в .net?

И если один из запросов завершается неудачно, а остальные - успешно, команда сообщает об этом как об ошибке или успешно?

последний вопрос: могут ли запросы иметь одинаковые параметры? Итак, возможно ли это:

 UPDATE mytable 
    SET column1 = @param1 
  WHERE recid = @recid; 

 UPDATE mytable2 
    SET column1 = @param1 
  WHERE recid = @recid2;       

(таким образом, param1 распределяется между запросами)

спасибо!

R

1 Ответ

9 голосов
/ 01 октября 2009

Вы можете иметь несколько операторов в CommandText объекта SqlCommand, это не проблема, и они также могут совместно использовать параметры. По сути, он передается sp_executesql на сервере sql и выполняется. Если вы выполняете несколько ОБНОВЛЕНИЙ, то вы захотите сделать их внутри транзакции, чтобы можно было выполнить откат в случае сбоя в одном из операторов.

При возврате нескольких наборов записей вы можете использовать метод SqlDataReader NextResult() для получения следующего набора результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...