Метод ServerConnection.ExecuteNonQuery (StringCollection)

Выполняет пакет инструкций, который не возвращает результирующий набор.

Пространство имен:  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[]

Параметры

  • sqlCommands
    Тип: StringCollection
    Значение системного объекта StringCollection, указывающего исполняемые инструкции пакетов Transact-SQL.

Возвращаемое значение

Тип: array<Int32[]
Значение массива Int32, указывающее общее число строк, обработанных каждым элементом объекта StringCollection, переданного в качестве параметра sqlCommands.Возвращаемое значение, указывающее общее число строк, обработанных командой Transact-SQL для инструкций UPDATE, INSERT и DELETE.Возвращаемое значение для всех остальных типов инструкций равно -1.

Замечания

Выполняет пакет инструкций Transact-SQL, которые обычно не возвращают результирующие наборы. Обычно эти инструкции или хранимые процедуры (DDL), относящиеся к параметры сервера.

Свойство Text объекта CapturedSql можно использовать в качестве параметра, чтобы разрешить выполнение перенаправленных инструкций Transact-SQL.

Объект StringCollection, используемый в качестве параметра sqlCommands может содержать несколько пакетов, разделенных разделителями пакетов. По умолчанию разделитель пакетов GO, но может быть задано с помощью свойства BatchSeparator. Выполнение пакета управляется параметром executionType.

Только команды SQLCMD методом ExecuteNonQuery. Если параметр sqlCommand содержит инструкцию, которая не является команды SQLCMD, затем происходит сбой метода и вызывается исключение ExecutionFailureException.

Примеры

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

Другие ресурсы

Использование режима записи