ServerConnection.ExecuteNonQuery 方法 (String, ExecutionTypes)
Executes a statement with the specified execution options that does not return a result set.
命名空间: Microsoft.SqlServer.Management.Common
程序集: Microsoft.SqlServer.ConnectionInfo(在 Microsoft.SqlServer.ConnectionInfo.dll 中)
语法
声明
Public Function ExecuteNonQuery ( _
sqlCommand As String, _
executionType As ExecutionTypes _
) As Integer
用法
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
参数
- sqlCommand
类型:System.String
A String value that specifies the Transact-SQL command to be executed.
- executionType
类型:Microsoft.SqlServer.Management.Common.ExecutionTypes
An ExecutionTypes object value that specifies the execution options for the Transact-SQL statement.
返回值
类型:System.Int32
An Int32 value that 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.
注释
The Transact-SQL command is typically a data definition language (DDL) statement or stored procedure that affects the server settings. The Text property of the CapturedSql object can be used as the sqlCommand parameter to allow execution of a captured Transact-SQL statement. The sqlCommand parameter contains a single Transact-SQL statement.
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, unless the executionType parameter has been set to include the ExecutionTypes.ContinueOnError value.
示例
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
请参阅
参考
Microsoft.SqlServer.Management.Common 命名空间