Freigeben über


SqlPipe Klasse

Definition

Ermöglicht es verwalteten gespeicherten Prozeduren, die prozessintern in einer SQL Server-Datenbank ausgeführt werden, Ergebnisse an den Aufrufer zurückzugeben. Diese Klasse kann nicht vererbt werden.

public ref class SqlPipe sealed
public sealed class SqlPipe
type SqlPipe = class
Public NotInheritable Class SqlPipe
Vererbung
SqlPipe

Beispiele

Im folgenden Beispiel wird und verwendet SqlConnection , SqlCommand um Zeilen aus einer Datenquelle in einer gespeicherten Prozedur auszuwählen. Im Beispiel wird dann ein SqlPipe verwendet, um den Befehl auszuführen und die Ergebnisse zurück an den Client zu senden.

[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

Hinweise

Eine instance dieser Klasse wird verwalteten gespeicherten Prozeduren über die Pipe -Eigenschaft der SqlContext -Klasse zur Verfügung gestellt.

Eigenschaften

IsSendingResults

Ruft einen Wert ab, der angibt, ob der Modus der SqlPipe das Senden einzelner Resultsets zurück an den Client zulässt. Diese Eigenschaft ist schreibgeschützt.

Methoden

ExecuteAndSend(SqlCommand)

Führt den als Parameter übergebenen Befehl aus und sendet die Ergebnisse an den Client.

Send(SqlDataReader)

Sendet ein Resultset mit mehreren Zeilen direkt an den Client oder aktuellen Ausgabeconsumer.

Send(SqlDataRecord)

Sendet ein Resultset mit einer Zeile direkt an den Client oder aktuellen Ausgabeconsumer.

Send(String)

Sendet eine Zeichenfolgenmeldung direkt an den Client oder aktuellen Ausgabeconsumer.

SendResultsEnd()

Markiert das Ende eines Resultsets und setzt die SqlPipe-Instanz auf den Ausgangszustand zurück.

SendResultsRow(SqlDataRecord)

Sendet eine einzelne Datenzeile an den Client zurück.

SendResultsStart(SqlDataRecord)

Kennzeichnet den Anfang eines an den Client zurückgesendeten Resultsets und erstellt mit dem Datensatzparameter die Metadaten zur Beschreibung des Resultsets.

Gilt für: