Udostępnij za pośrednictwem


Metoda ServerConnection.ExecuteNonQuery (StringCollection)

Wykonuje partia sprawozdań, które nie zwraca zestaw wyników.

Przestrzeń nazw:  Microsoft.SqlServer.Management.Common
Zestaw:  Microsoft.SqlServer.ConnectionInfo (w Microsoft.SqlServer.ConnectionInfo.dll)

Składnia

'Deklaracja
Public Function ExecuteNonQuery ( _
    sqlCommands As StringCollection _
) As Integer()
'Użycie
Dim instance As ServerConnection
Dim sqlCommands As StringCollection
Dim returnValue As Integer()

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

Parametry

Wartość zwracana

Typ: array<System.Int32[]
Int32 Wartość, która określa całkowitą liczbę wierszy dotyczy każdego elementu tablicy StringCollection obiektu jako sqlCommands parametru.Zwracana wartość określa całkowitą liczbę wierszy dotyczy Transact-SQL polecenia WSTAWIANIA, aktualizacji i usuwania sprawozdania.Dla wszystkich innych typów oświadczeń, wartość zwracana jest -1.

Uwagi

Wykonuje partii Transact-SQL instrukcji, które zazwyczaj nie zwracają zestawów wyników.Są to zazwyczaj instrukcji języka (DDL) definicja danych lub procedur przechowywanych, które wpływają na ustawienia serwera.

Text Właściwość CapturedSql obiektu może służyć jako parametr umożliwiających przechwyconych Transact-SQL instrukcji.

StringCollection Obiektu jako sqlCommands parametr może zawierać kilka partia oddzielone znakiem separatora partia.Domyślnie jest Przejdź separator partia, ale zestaw z BatchSeparator właściwość.Wsadowe jest kontrolowana z executionType parametru.

Tylko polecenie SQLCMD polecenia są rozpoznawane przez ExecuteNonQuery metoda.Jeśli sqlCommand zawiera parametr instrukcja nie jest to polecenie polecenie SQLCMD, a następnie metoda nie powiedzie się i o ExecutionFailureException jest wyjątek.

Przykłady

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