SqlCommand.ExecuteNonQuery Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет для подключения инструкцию Transact-SQL и возвращает количество задействованных в инструкции строк.
public:
override int ExecuteNonQuery();
public:
virtual int ExecuteNonQuery();
public override int ExecuteNonQuery ();
public int ExecuteNonQuery ();
override this.ExecuteNonQuery : unit -> int
abstract member ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
Public Overrides Function ExecuteNonQuery () As Integer
Public Function ExecuteNonQuery () As Integer
Возвращаемое значение
Число обработанных строк.
Реализации
Исключения
Значение SqlDbType , отличное от Binary или VarBinary , использовалось, если Value задано значение Stream. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.
-или-
A SqlDbType other than Char, NChar, NVarChar, VarChar, or Xml was used when Value was set to TextReader.
-или-
Если SqlDbType для этого задано значениеXmlReader, отличное от Xml, использовался Value .
Возникло исключение при выполнении команды в заблокированной строке. Это исключение не создается при использовании платформы Microsoft .NET Framework версии 1.0.
-или-
Во время операции потоковой передачи истекло время ожидания. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.
Во время операции потоковой передачи возникла ошибка в объекте Stream, XmlReader или TextReader. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.
Подключение SqlConnection, закрытое или удаленное во время операции потоковой передачи. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.
Объект Stream, XmlReader или TextReader был закрыт во время операции потоковой передачи. Дополнительные сведения о потоковой передаче см. в разделе Поддержка потоковой передачи SqlClient.
Примеры
В следующем примере создается, SqlCommand а затем выполняется с помощью ExecuteNonQuery. В примере передается строка, которая является инструкцией Transact-SQL (например, UPDATE, INSERT или DELETE) и строкой, используемой для подключения к источнику данных.
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
Public Sub CreateCommand(ByVal queryString As String, _
ByVal connectionString As String)
Using connection As New SqlConnection(connectionString)
Dim command As New SqlCommand(queryString, connection)
command.Connection.Open()
command.ExecuteNonQuery()
End Using
End Sub
Комментарии
Можно использовать для ExecuteNonQuery выполнения операций с каталогом (например, для запроса структуры базы данных или создания объектов базы данных, таких как таблицы), или для изменения данных в базе данных без использования DataSet инструкций UPDATE, INSERT или DELETE.
Хотя возвращаемые ExecuteNonQuery строки не возвращаются, все выходные параметры или возвращаемые значения, сопоставленные с параметрами, заполняются данными.
Операторы UPDATE, INSERT и DELETE возвращают количество строк, которые были обработаны с их помощью. Для всех прочих типов операторов возвращаемым значением является -1.
Если триггер существует для таблицы, вставляемой или обновляемой, возвращаемое значение включает количество строк, затронутых операцией вставки или обновления, и количество строк, затронутых триггером или триггером.
Если параметр SET NOCOUNT ON установлен в соединении (до или как часть выполнения команды или в составе триггера, инициированного выполнением команды), строки, затронутые отдельными инструкциями, перестают вносить свой вклад в количество строк, возвращаемых этим методом.
Если операторы, влияющие на число, не обнаружены, возвращаемое значение равно -1. Если происходит откат, возвращаемое значение также равно -1.