Méthode ServerConnection.ExecuteNonQuery (StringCollection, ExecutionTypes)

Exécute un lot d'instructions avec les options d'exécution spécifiées qui ne retourne pas de jeu de résultats.

Espace de noms :  Microsoft.SqlServer.Management.Common
Assembly :  Microsoft.SqlServer.ConnectionInfo (en Microsoft.SqlServer.ConnectionInfo.dll)

Syntaxe

'Déclaration
Public Function ExecuteNonQuery ( _
    sqlCommands As StringCollection, _
    executionType As ExecutionTypes _
) As Integer()
'Utilisation
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[]

Paramètres

  • sqlCommands
    Type : StringCollection
    Valeur de l'objet système StringCollection qui spécifie les lots d'instructions Transact-SQL à exécuter.

Valeur de retour

Type : array<Int32[]
Valeur de tableau Int32 qui spécifie le nombre total de lignes affectées par chaque élément de l'objet StringCollection utilisé comme paramètre sqlCommands.La valeur de retour spécifie le nombre total de lignes affectées par la commande Transact-SQL pour les instructions UPDATE, INSERT et DELETE.Pour tous les autres types d'instructions, la valeur de retour est -1.

Notes

Exécute les séries d'instructions d'Transact-SQL qui ne prennent pas en général des jeux de résultats obtenu. Ce sont généralement les instructions ou les procédures stockées de du langage de définition de données (DDL) qui affectent les paramètres du serveur.

La propriété d'Text de l'objet CapturedSql de peut être utilisée comme paramètre pour permettre l'exécution des instructions capturées d'Transact-SQL.

L'objet de StringCollection utilisée comme paramètre d'sqlCommands peut contenir plusieurs lots séparés par le séparateur de lot. Par défaut, le séparateur de lot est Go, mais il peut être défini avec la propriété d'BatchSeparator. L'exécution du lot est contrôlée avec un paramètre d'executionType.

Seuls les commandes SQLCMD sont identifiées par la méthode ExecuteNonQuery. Si le paramètre d'sqlCommand contient l'instruction qui n'est pas une instruction SQLCMD puis les erreurs de méthode et une exception d'ExecutionFailureException est déclenchée sauf si le paramètre d'executionType a été défini pour inclure la valeur de ExecutionTypes.ContinueOnError.

Exemples

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

Voir aussi

Référence

ServerConnection Classe

Surcharge ExecuteNonQuery

Espace de noms Microsoft.SqlServer.Management.Common

Autres ressources

Utilisation du mode de capture