SqlCommand.ExecuteNonQuery Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Executa uma instrução Transact-SQL na conexão e retorna o número de linhas afetadas.
public:
virtual int ExecuteNonQuery();
public:
override int ExecuteNonQuery();
public int ExecuteNonQuery();
public override int ExecuteNonQuery();
abstract member ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
override this.ExecuteNonQuery : unit -> int
Public Function ExecuteNonQuery () As Integer
Public Overrides Function ExecuteNonQuery () As Integer
Retornos
O número de linhas afetadas.
Implementações
Exceções
Um SqlDbType diferente de Binary ou VarBinary foi usado quando Value foi definido como Stream. Para obter mais informações sobre streaming, consulte o Suporte de Streaming do SqlClient.
-ou-
Um SqlDbType diferente de Char, NChar, NVarChar, VarChar ou Xml foi usado quando Value foi definido como TextReader.
-ou-
Um SqlDbType diferente de Xml foi usado quando Value foi definido como XmlReader.
Ocorreu uma exceção ao executar o comando em uma linha bloqueada. Essa exceção não é gerada quando você está usando o Microsoft .NET Framework versão 1.0.
-ou-
Ocorreu um tempo limite durante uma operação de streaming. Para obter mais informações sobre streaming, consulte o Suporte de Streaming do SqlClient.
Ocorreu um erro em um Streamobjeto ou XmlReader um TextReader objeto durante uma operação de streaming. Para obter mais informações sobre streaming, consulte o Suporte de Streaming do SqlClient.
O SqlConnection fechado ou descartado durante uma operação de streaming. Para obter mais informações sobre streaming, consulte o Suporte de Streaming do SqlClient.
O Streamobjeto ou XmlReader o objeto TextReader foi fechado durante uma operação de streaming. Para obter mais informações sobre streaming, consulte o Suporte de Streaming do SqlClient.
Exemplos
O exemplo a seguir cria um SqlCommand e o executa usando ExecuteNonQuery. O exemplo é passado uma cadeia de caracteres que é uma instrução Transact-SQL (como UPDATE, INSERT ou DELETE) e uma cadeia de caracteres a ser usada para se conectar à fonte de dados.
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
Comentários
Você pode usar para ExecuteNonQuery executar operações de catálogo (por exemplo, consultando a estrutura de um banco de dados ou criando objetos de banco de dados, como tabelas), ou para alterar os dados em um banco de dados sem usar uma DataSet executando instruções UPDATE, INSERT ou DELETE.
Embora as ExecuteNonQuery linhas não retornem, os parâmetros de saída ou valores retornados mapeados para parâmetros são preenchidos com dados.
Para instruções UPDATE, INSERT e DELETE, o valor retornado é o número de linhas afetadas pelo comando. Para todos os outros tipos de instruções, o valor retornado é -1.
Quando um gatilho existe em uma tabela sendo inserida ou atualizada, o valor retornado inclui o número de linhas afetadas pela operação de inserção ou atualização e o número de linhas afetadas pelo gatilho ou gatilhos.
Quando SET NOCOUNT ON é definido na conexão (antes ou como parte da execução do comando ou como parte de um gatilho iniciado pela execução do comando), as linhas afetadas por instruções individuais param de contribuir para a contagem de linhas afetadas que são retornadas por esse método.
Se nenhuma instrução for detectada que contribua para a contagem, o valor retornado será -1. Se ocorrer uma reversão, o valor retornado também será -1.