ServerConnection.ExecuteNonQuery 메서드 (StringCollection)

Executes a batch of statements that do not return a result set.

네임스페이스:  Microsoft.SqlServer.Management.Common
어셈블리:  Microsoft.SqlServer.ConnectionInfo(Microsoft.SqlServer.ConnectionInfo.dll)

구문

‘선언
Public Function ExecuteNonQuery ( _
    sqlCommands As StringCollection _
) As Integer()
‘사용 방법
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[]

매개 변수

반환 값

유형: array<System.Int32[]
An Int32 array value that specifies the total number of rows affected by each element of the StringCollection object used as the sqlCommands parameter. The return value specifies the total number of rows affected by the Transact-SQL command for UPDATE, INSERT, and DELETE statements. For all other types of statements, the return value is -1.

주의

Executes batches of Transact-SQL statements that typically do not return result sets. These are typically data definition language (DDL) statements or stored procedures that affect the server settings.

The Text property of the CapturedSql object can be used as a parameter to allow execution of captured Transact-SQL statements.

The StringCollection object used as the sqlCommands parameter can contain several batches separated by the batch separator. By default, the batch separator is GO, but can be set with the BatchSeparator property. Batch execution is controlled with the executionType parameter.

Only SQLCMD commands are recognized by the ExecuteNonQuery method. If the sqlCommand parameter contains a statement that is not a SQLCMD command then the method fails and an ExecutionFailureException exception is raised.

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

참고 항목

참조

ServerConnection 클래스

ExecuteNonQuery 오버로드

Microsoft.SqlServer.Management.Common 네임스페이스

관련 자료

캡처 모드 사용