Condividi tramite


SqlPipe Classe

Definizione

Consente la restituzione dei risultati al chiamante da parte delle stored procedure gestite in esecuzione in-process su SQL Server. La classe non può essere ereditata.

public ref class SqlPipe sealed
public sealed class SqlPipe
type SqlPipe = class
Public NotInheritable Class SqlPipe
Ereditarietà
SqlPipe

Esempio

Nell'esempio seguente viene SqlConnection usato e SqlCommand per selezionare le righe da un'origine dati in una stored procedure. Nell'esempio viene quindi usato un SqlPipe per eseguire il comando e inviare nuovamente i risultati al 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

Commenti

Un'istanza di questa classe viene resa disponibile per le stored procedure gestite tramite la Pipe proprietà della SqlContext classe.

Proprietà

IsSendingResults

Ottiene un valore che indica se la classe SqlPipe è in modalità di invio di singoli set di risultati al client. Questa proprietà è di sola lettura.

Metodi

ExecuteAndSend(SqlCommand)

Esegue il comando passato come parametro e invia i risultati al client.

Send(SqlDataReader)

Invia un gruppo di risultati a riga multipla direttamente al client o al consumer dell'output corrente.

Send(SqlDataRecord)

Invia un gruppo di risultati a riga singola direttamente al client o al consumer dell'output corrente.

Send(String)

Invia un messaggio stringa direttamente al client o al consumer dell'output corrente.

SendResultsEnd()

Contrassegna la fine di un gruppo di risultati e riporta l'istanza di SqlPipe allo stato iniziale.

SendResultsRow(SqlDataRecord)

Invia direttamente al client una riga singola di dati.

SendResultsStart(SqlDataRecord)

Contrassegna l'inizio di un set di risultati da inviare al client e utilizza il parametro record per costruire i metadati che descrivono il set di risultati.

Si applica a