.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)
Syntax

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.
Exceptions

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.

Remarks

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.

Examples

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);
            
        }
Platforms

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.
Version Information

.NET Framework

Supported in: 3.5, 3.0, 2.0
See Also

Reference

Tags :


Page view tracker