Udostępnij za pośrednictwem


Metoda ServerConnection.ExecuteNonQuery (StringCollection, ExecutionTypes)

Wykonuje partia sprawozdania z opcjami wykonanie określonego 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, _
    executionType As ExecutionTypes _
) As Integer()
'Użycie
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[]

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 chyba że executionType ustawiono parametr obejmują ExecutionTypes.ContinueOnError wartości.

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