Udostępnij za pośrednictwem


SqlPipe.SendResultsRow(SqlDataRecord) Metoda

Definicja

Wysyła jeden wiersz danych z powrotem do klienta.

public:
 void SendResultsRow(Microsoft::SqlServer::Server::SqlDataRecord ^ record);
public void SendResultsRow (Microsoft.SqlServer.Server.SqlDataRecord record);
member this.SendResultsRow : Microsoft.SqlServer.Server.SqlDataRecord -> unit
Public Sub SendResultsRow (record As SqlDataRecord)

Parametry

record
SqlDataRecord

SqlDataRecord Obiekt z wartościami kolumn dla wiersza, który ma zostać wysłany do klienta. Schemat rekordu musi być zgodny ze schematem opisanym przez metadane SqlDataRecord przekazanej SendResultsStart(SqlDataRecord) do metody.

Wyjątki

Element record to null.

Metoda SendResultsStart(SqlDataRecord) nie została wcześniej wywołana.

Przykłady

Poniższy przykład tworzy nowy SqlDataRecord i jego element SqlMetaData. W tym przykładzie oznacza się początek zestawu wyników przy użyciu SendResultsStart metody , wysyła rekordy z przykładowymi danymi z powrotem do klienta przy użyciu metody i oznacza koniec zestawu SendResultsEnd wyników za pomocą SendResultsRow metody .

[Microsoft.SqlServer.Server.SqlProcedure]
public static void StoredProcReturnResultSet()
{
    // Create the record and specify the metadata for the columns.
    SqlDataRecord record = new SqlDataRecord(
        new SqlMetaData("col1", SqlDbType.NVarChar, 100),
        new SqlMetaData("col2", SqlDbType.Int));

    // Mark the begining of the result-set.
    SqlContext.Pipe.SendResultsStart(record);

    // Send 10 rows back to the client.
    for (int i = 0; i < 10; i++)
    {
        // Set values for each column in the row.
        record.SetString(0, "row " + i.ToString());
        record.SetInt32(1, i);

        // Send the row back to the client.
        SqlContext.Pipe.SendResultsRow(record);
    }

    // Mark the end of the result-set.
    SqlContext.Pipe.SendResultsEnd();
}
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub StoredProcReturnResultSet()

    ' Create the record and specify the metadata for the columns.
    Dim record As New SqlDataRecord( _
        New SqlMetaData("col1", SqlDbType.NVarChar, 100), _
        New SqlMetaData("col2", SqlDbType.Int))

    ' Mark the begining of the result-set.
    SqlContext.Pipe.SendResultsStart(record)

    ' Send 10 rows back to the client.
    Dim i As Integer
    For i = 0 To 9

        ' Set values for each column in the row.
        record.SetString(0, "row " & i.ToString())
        record.SetInt32(1, i)

        ' Send the row back to the client.
        SqlContext.Pipe.SendResultsRow(record)
    Next

    ' Mark the end of the result-set.
    SqlContext.Pipe.SendResultsEnd()
End Sub

Uwagi

Zarządzane procedury składowane mogą wysyłać zestawy wyników do klientów, którzy nie implementują programu SqlDataReader. Ta metoda wraz z elementami SendResultsStart i SendResultsEndumożliwia procedurom składowanymi wysyłanie niestandardowych zestawów wyników do klienta.

Metoda SendResultsRow wysyła pojedynczy wiersz danych z powrotem do klienta. Wiersze mogą następnie być zwracane do obiektu wywołującego przez wywołanie SendResultsRow, jeden raz dla każdego wysyłanego wiersza. Po wysłaniu wszystkich wierszy wywołanie SendResultsEnd metody jest wymagane, aby oznaczyć koniec zestawu wyników.

Dotyczy

Zobacz też