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