Click to Rate and Give Feedback
MSDN
MSDN Library
.NET Development
.NET Framework 3.5
SqlPipe Class
SqlPipe Methods
 ExecuteAndSend Method

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
.NET Framework Class Library
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)
Visual Basic (Declaration)
Public Sub ExecuteAndSend ( _
    command As SqlCommand _
)
Visual Basic (Usage)
Dim instance As SqlPipe
Dim command As SqlCommand

instance.ExecuteAndSend(command)
C#
public void ExecuteAndSend(
    SqlCommand command
)
Visual C++
public:
void ExecuteAndSend(
    SqlCommand^ command
)
JScript
public function ExecuteAndSend(
    command : SqlCommand
)

Parameters

command
Type: System.Data.SqlClient..::.SqlCommand
The SqlCommand object to be executed.
ExceptionCondition
ArgumentNullException

The command is nullNothingnullptra null reference (Nothing in Visual Basic).

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.

Visual Basic
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub StoredProcExecuteCommand(ByVal rating As Integer)
    Dim command As SqlCommand

    ' Connect through the context connection
    Using connection As New SqlConnection("context connection=true")
        connection.Open()

        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)
    End Using
End Sub

C#
    [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);
            
        }

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

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

.NET Framework

Supported in: 3.5, 3.0, 2.0
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker