Выполняет запрос к базе данных с указанными в экземпляре класса SqlCommand параметрами и возвращает количество задействованных в инструкции строк.
Пространство имён: Nemiro.Data.SqlСборка: Nemiro.Data (в Nemiro.Data.dll) Версия: 2.11.4.126 (2.11.4.126)
Синтаксис
Параметры
- cmd
- Тип: System.Data.SqlClient SqlCommand
Возвращаемое значение
Тип: Int32Возвращает число, содержащее количество задействованных строк данных в результате выполнения запроса.
Если запрос не коснулся ни одной строки данных, возвращает ноль.
Исключения
Исключение | Условие |
---|---|
SqlException | Исключение возникает при возврате SQL Server предупреждения или ошибки. |
ValueForIdentityException | Исключение происходит, если у ключевого свойства отсутствует флаг Identity и при этом соответствующее поле таблицы является числовым счетчиком. |
StringOrBinaryDataWouldBeTruncatedException | Исключение возникает, если в некоторые поля таблицы добавляются значения, объем которых превышает допустимый размер поля таблицы. |
Заметки
В большинстве случаев, рекомендуется использовать метод ExecuteNonQuery без параметров, совместно со свойствами CommandType, CommandText и Parameters. Суть будет примерно такой же, как и с SqlCommand, но работать удобней.
Параметры кэширования при работе с этим методом игнорируются.
Примеры
using (SqlClient client = new SqlClient()) { // формируем запрос SqlCommand cmd = new SqlCommand("UPDATE messages SET hits = hits + 1 WHERE id = @id"); cmd.Parameters.Add("@id", SqlDbType.Int).Value = 42; // выполняем запрос int used = client.ExecuteNonQuery(cmd); // выводим результат в консоль Console.WriteLine("Обновлено {0} строк", used); }
См. также