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.
- executionType
Tipo: Microsoft.SqlServer.Management.Common.ExecutionTypes
Valor de objeto ExecutionTypes que especifica las opciones de ejecución para la instrucción Transact-SQL.
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
Espacio de nombres Microsoft.SqlServer.Management.Common