Partager via


ServerConnection.ExecuteNonQuery Method (StringCollection, ExecutionTypes)

Executes a batch of statements with the specified execution options that does not return a result set.

Espace de noms: Microsoft.SqlServer.Management.Common
Assembly: Microsoft.SqlServer.ConnectionInfo (in microsoft.sqlserver.connectioninfo.dll)

Syntaxe

'Déclaration
Public Function ExecuteNonQuery ( _
    sqlCommands As StringCollection, _
    executionType As ExecutionTypes _
) As Integer()
public int[] ExecuteNonQuery (
    StringCollection sqlCommands,
    ExecutionTypes executionType
)
public:
array<int>^ ExecuteNonQuery (
    StringCollection^ sqlCommands, 
    ExecutionTypes executionType
)
public int[] ExecuteNonQuery (
    StringCollection sqlCommands, 
    ExecutionTypes executionType
)
public function ExecuteNonQuery (
    sqlCommands : StringCollection, 
    executionType : ExecutionTypes
) : int[]

Paramètres

  • sqlCommands
    A StringCollection system object value that specifies the batches of Transact-SQL statements to be executed.
  • executionType
    An ExecutionTypes object value that specifies the execution options for the Transact-SQL statement.

Valeur de retour

An Int32 array value that specifies the total number of rows affected by each element of the StringCollection object used as the sqlCommands parameter. The return value specifies the total number of rows affected by the Transact-SQL command for UPDATE, INSERT, and DELETE statements. For all other types of statements, the return value is -1.

Notes

Executes batches of Transact-SQL statements that typically do not return result sets. These are typically data definition language (DDL) statements or stored procedures that affect the server settings.

The Text property of the CapturedSql object can be used as a parameter to allow execution of captured Transact-SQL statements.

The StringCollection object used as the sqlCommands parameter can contain several batches separated by the batch separator. By default, the batch separator is GO, but can be set with the BatchSeparator property. Batch execution is controlled with the executionType parameter.

Only SQLCMD commands are recognized by the ExecuteNonQuery method. If the sqlCommand parameter contains a statement that is not a SQLCMD command then the method fails and an ExecutionFailureException exception is raised unless the executionType parameter has been set to include the ExecutionTypes.ContinueOnError value.

Cet espace de noms, cette classe ou ce membre est pris en charge uniquement par la version 2.0 de Microsoft .NET Framework.

Exemple

'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

Sécurité des threads

Any public static (Shared in Microsoft Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Plateformes

Plateformes de développement

Pour obtenir la liste des plateformes prises en charge, consultez Configuration matérielle et logicielle requise pour l'installation de SQL Server 2005.

Plateformes cibles

Pour obtenir la liste des plateformes prises en charge, consultez Configuration matérielle et logicielle requise pour l'installation de SQL Server 2005.

Voir aussi

Référence

ServerConnection Class
ServerConnection Members
Microsoft.SqlServer.Management.Common Namespace

Autres ressources

How to: Enable Capture Mode in Visual Basic .NET
Using Capture Mode