Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

SqlPipe.ExecuteAndSend Method

Executes the command passed as a parameter and sends the results to the client.

Namespace:  Microsoft.SqlServer.Server
Assembly:  System.Data (in System.Data.dll)
public void ExecuteAndSend(
	SqlCommand command
)

Parameters

command
Type: System.Data.SqlClient.SqlCommand

The SqlCommand object to be executed.

ExceptionCondition
ArgumentNullException

The command is null.

InvalidOperationException

This method is not supported on commands bound to out-of-process connections.

In addition to any actual results, other messages and errors are also sent directly to the client.

Output parameters and return values are not sent to the client; these are available to the caller, through the parameters collection of the command object.

If the command is not bound to an in-process connection, an InvalidOperationException is thrown. This method is not supported on commands bound to out-of-process connections.

If there are errors in the SqlCommand object that was submitted, exceptions are sent to the pipe, but a copy is also sent to calling managed code. If the calling code doesn't catch the exception, it will propagate up the stack to the Transact-SQL code and appear in the output twice. If the calling code does catch the exception, the pipe consumer will still see the error, but there will not be a duplicate error.

The following example uses SqlConnection and SqlCommand to select rows from a data source in a stored procedure. The example then uses a SqlPipe to execute the command and send the results back to the client.

	[Microsoft.SqlServer.Server.SqlProcedure()]
	public static void StoredProcExecuteCommand(int rating)
	{
		// Connect through the context connection. 
		using (SqlConnection connection = new SqlConnection("context connection=true"))
		{
			connection.Open();

			SqlCommand command = new SqlCommand(
				"SELECT VendorID, AccountNumber, Name FROM Purchasing.Vendor " +
				"WHERE CreditRating <= @rating", connection);
			command.Parameters.AddWithValue("@rating", rating);

			// Execute the command and send the results directly to the client.
			SqlContext.Pipe.ExecuteAndSend(command);
			
		}

.NET Framework

Supported in: 4.5.1, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2014 Microsoft. All rights reserved.