SqlPipe.SendResultsRow(SqlDataRecord) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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.