ServerConnection.ExecuteNonQuery Método (StringCollection, ExecutionTypes)

Ejecuta un lote de instrucciones con las opciones de ejecución especificadas que no devuelve ningún conjunto de resultados.

Espacio de nombres:  Microsoft.SqlServer.Management.Common
Ensamblado:  Microsoft.SqlServer.ConnectionInfo (en Microsoft.SqlServer.ConnectionInfo.dll)

Sintaxis

'Declaración
Public Function ExecuteNonQuery ( _
    sqlCommands As StringCollection, _
    executionType As ExecutionTypes _
) As Integer()
'Uso
Dim instance As ServerConnection 
Dim sqlCommands As StringCollection 
Dim executionType As ExecutionTypes 
Dim returnValue As Integer()

returnValue = instance.ExecuteNonQuery(sqlCommands, _
    executionType)
public int[] ExecuteNonQuery(
    StringCollection sqlCommands,
    ExecutionTypes executionType
)
public:
array<int>^ ExecuteNonQuery(
    StringCollection^ sqlCommands, 
    ExecutionTypes executionType
)
member ExecuteNonQuery : 
        sqlCommands:StringCollection * 
        executionType:ExecutionTypes -> int[] 
public function ExecuteNonQuery(
    sqlCommands : StringCollection, 
    executionType : ExecutionTypes
) : int[]

Parámetros

  • sqlCommands
    Tipo: StringCollection
    Valor de objeto de sistema StringCollection que especifica los lotes de instrucciones Transact-SQL que se van a ejecutar.

Valor devuelto

Tipo: array<Int32[]
Valor de matriz Int32 que especifica el número total de filas afectado por cada elemento del objeto StringCollection utilizado como parámetro sqlCommands.El valor devuelto especifica el número total de filas afectadas por el comando Transact-SQL para las instrucciones UPDATE, INSERT y DELETE.Para todos los demás tipos de instrucciones, el valor devuelto es -1.

Comentarios

Ejecuta los lotes de instrucciones de Transact-SQL que no lo hagan normalmente conjuntos de resultados. Éstos son normalmente las instrucciones o los procedimientos almacenados de (DDL) de lenguaje de definición de datos que afectan a la configuración del servidor.

La propiedad de Text de objeto de CapturedSql se puede utilizar como un parámetro para permitir la ejecución de instrucciones capturadas de Transact-SQL .

El objeto de StringCollection utiliza como parámetro de sqlCommands puede contener varios lotes separados por el separador de lotes. De forma predeterminada, el separador de lotes es GO, pero se puede establecer con la propiedad de BatchSeparator . La ejecución de lotes se controla con el parámetro de executionType .

Solo el método de ExecuteNonQuery reconocen los comandos SQLCMD. Si el parámetro de sqlCommand contiene se producirá una instrucción que no es comando SQLCMD después se produce un error en el método y una excepción de ExecutionFailureException a menos que el parámetro de executionType se haya establecido para incluir el valor de ExecutionTypes.ContinueOnError .

Ejemplos

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

Vea también

Referencia

ServerConnection Clase

Sobrecarga de ExecuteNonQuery

Espacio de nombres Microsoft.SqlServer.Management.Common

Otros recursos

Utilizar el modo de captura