Udostępnij za pośrednictwem


Metoda ExecuteNonQuery (String, ExecutionTypes)

Wykonuje instrukcja wykonanie określonej opcji, która nie zwraca zestaw wyników.

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

Syntax

'Deklaracja
Public Function ExecuteNonQuery ( _
    sqlCommand As String, _
    executionType As ExecutionTypes _
) As Integer
'Użycie
Dim instance As ServerConnection
Dim sqlCommand As String
Dim executionType As ExecutionTypes
Dim returnValue As Integer

returnValue = instance.ExecuteNonQuery(sqlCommand, _
    executionType)
public int ExecuteNonQuery(
    string sqlCommand,
    ExecutionTypes executionType
)
public:
int ExecuteNonQuery(
    String^ sqlCommand, 
    ExecutionTypes executionType
)
member ExecuteNonQuery : 
        sqlCommand:string * 
        executionType:ExecutionTypes -> int 
public function ExecuteNonQuery(
    sqlCommand : String, 
    executionType : ExecutionTypes
) : int

Parameters

Wartość zwracana

Typ: System. . :: . .Int32
Int32 Wartość, która 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

Transact-SQL Polecenia jest zazwyczaj instrukcja języka (DDL) definicja danych lub procedura składowana, która wpływa na ustawienia serwera.Text Właściwość CapturedSql obiektu mogą być używane jako sqlCommand parametr umożliwiających przechwyconych Transact-SQL instrukcja.sqlCommand Parametr zawiera pojedynczy Transact-SQL instrukcja.

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