Share via


Método ServerConnection.ExecuteNonQuery (String)

Executa uma instrução que não retorna um conjunto de resultados.

Namespace:  Microsoft.SqlServer.Management.Common
Assembly:  Microsoft.SqlServer.ConnectionInfo (em Microsoft.SqlServer.ConnectionInfo.dll)

Sintaxe

'Declaração
Public Function ExecuteNonQuery ( _
    sqlCommand As String _
) As Integer
'Uso
Dim instance As ServerConnection 
Dim sqlCommand As String 
Dim returnValue As Integer 

returnValue = instance.ExecuteNonQuery(sqlCommand)
public int ExecuteNonQuery(
    string sqlCommand
)
public:
int ExecuteNonQuery(
    String^ sqlCommand
)
member ExecuteNonQuery : 
        sqlCommand:string -> int
public function ExecuteNonQuery(
    sqlCommand : String
) : int

Parâmetros

  • sqlCommand
    Tipo: String
    Um valor String que especifica o comando Transact-SQL a ser executado.

Valor de retorno

Tipo: Int32
Um valor Int32 que especifica o número total de linhas afetadas pelo comando Transact-SQL para as instruções UPDATE, INSERT e DELETE.Para todos os outros tipos de instruções, o valor de retorno é -1.

Comentários

O comando de Transact-SQL é normalmente uma instrução ou um procedimento armazenado de linguagem de definição de dados (DDL) que afetem as configurações de servidor. A propriedade de Text do objeto de CapturedSql pode ser usada como o parâmetro de sqlCommand para permitir a execução de uma instrução capturada de Transact-SQL . O parâmetro de sqlCommand contém uma única instrução de Transact-SQL .

Somente os comandos SQLCMD são reconhecidos pelo método de ExecuteNonQuery . Se o parâmetro de sqlCommand contém uma instrução que não é um comando SQLCMD no método falhar e uma exceção de ExecutionFailureException é emitido.

Exemplos

VB

'Connect to the local, default instance of SQL Server.
Dim srv As Server
srv = New Server
'Set the execution mode to CaptureSql for the connection.
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.CaptureSql
'Make a modification to the server that is to be captured.
srv.UserOptions.AnsiNulls = True
srv.Alter()
'Iterate through the strings in the capture buffer and display the captured statements.
Dim s As String
For Each s In srv.ConnectionContext.CapturedSql.Text
    Console.WriteLine(s)
Next
'Execute the captured statements.
srv.ConnectionContext.ExecuteNonQuery(srv.ConnectionContext.CapturedSql.Text)
'Revert to immediate execution mode. 
srv.ConnectionContext.SqlExecutionModes = SqlExecutionModes.ExecuteSql

PowerShell

$srv = new-object Microsoft.SqlServer.Management.Smo.Server
$srv.ConnectionContext.SqlExecutionModes = [Microsoft.SqlServer.Management.Common.SqlExecutionModes]::CaptureSql
$srv.UserOptions.AnsiNulls = $TRUE
$srv.Alter()
foreach ($s in $srv.ConnectionContext.CapturedSql.Text)
{
   Write-Host $s
}
$srv.ConnectionContext.ExecuteNonQuery($srv.ConnectionContext.CapturedSql.Text)
$srv.ConnectionContext.SqlExecutionModes = [Microsoft.SqlServer.Management.Common.SqlExecutionModes]::ExecuteSql

Consulte também

Referência

ServerConnection Classe

Sobrecarregado ExecuteNonQuery

Namespace Microsoft.SqlServer.Management.Common

Outros recursos

Usando modo de captura