Freigeben über


ServerConnection.ExecuteNonQuery-Methode (String, ExecutionTypes)

Führt eine Anweisung, die kein Resultset zurückgibt, mit den angegebenen Ausführungsoptionen aus.

Namespace:  Microsoft.SqlServer.Management.Common
Assembly:  Microsoft.SqlServer.ConnectionInfo (in Microsoft.SqlServer.ConnectionInfo.dll)

Syntax

'Declaration
Public Function ExecuteNonQuery ( _
    sqlCommand As String, _
    executionType As ExecutionTypes _
) As Integer
'Usage
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

Parameter

  • sqlCommand
    Typ: String
    Ein String-Wert, der den auszuführenden Transact-SQL-Befehl angibt.

Rückgabewert

Typ: Int32
Ein Int32-Wert, der die Gesamtanzahl der Zeilen angibt, die vom Transact-SQL-Befehl für UPDATE-, INSERT- und DELETE-Anweisungen betroffen sind.Für alle anderen Anweisungstypen beträgt der Rückgabewert -1.

Hinweise

Der Befehl Transact-SQL ist normalerweise eine Anweisung Datendefinitionssprachen (ddl)- oder eine gespeicherte Prozedur, die die Servereinstellungen auswirkt. Die Text-Eigenschaft des CapturedSql-Objekts kann sich vom sqlCommand-Parameter verwendet werden, um die Ausführung einer Anweisung erfassten Transact-SQL zuzulassen. Der sqlCommand-Parameter enthält eine einzelne Transact-SQL-Anweisung.

Nur SQLCMD-Befehle werden durch die ExecuteNonQuery-Methode erkannt. Wenn der sqlCommand-Parameter eine Anweisung, die kein SQLCMD-Befehl dann die Methode ist, scheitert enthält und eine ExecutionFailureException - Ausnahme ausgelöst wird, es sei denn, der Parameter executionType festgelegt wurde, um den Wert ExecutionTypes.ContinueOnError einschließen.

Beispiele

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

Siehe auch

Verweis

ServerConnection Klasse

ExecuteNonQuery-Überladung

Microsoft.SqlServer.Management.Common-Namespace

Andere Ressourcen

Verwenden des Aufzeichnungsmodus