SqlPipe Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Allows managed stored procedures running in-process on a SQL Server database to return results back to the caller. This class cannot be inherited.
public ref class SqlPipe sealed
public sealed class SqlPipe
type SqlPipe = class
Public NotInheritable Class SqlPipe
- Inheritance
-
SqlPipe
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.
[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);
}
}
<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
Remarks
An instance of this class is made available to managed stored procedures through the Pipe property of the SqlContext class.
Properties
IsSendingResults |
Gets a value that indicates whether the SqlPipe is in the mode of sending single result sets back to the client. This property is read-only. |
Methods
ExecuteAndSend(SqlCommand) |
Executes the command passed as a parameter and sends the results to the client. |
Send(SqlDataReader) |
Sends a multirow result set directly to the client or current output consumer. |
Send(SqlDataRecord) |
Sends a single-row result set directly to the client or current output consumer. |
Send(String) |
Sends a string message directly to the client or current output consumer. |
SendResultsEnd() |
Marks the end of a result set, and returns the SqlPipe instance back to the initial state. |
SendResultsRow(SqlDataRecord) |
Sends a single row of data back to the client. |
SendResultsStart(SqlDataRecord) |
Marks the beginning of a result set to be sent back to the client, and uses the record parameter to construct the metadata that describes the result set. |