Aracılığıyla paylaş


SqlPipe.SendResultsRow(SqlDataRecord) Yöntem

Tanım

İstemciye tek bir veri satırı gönderir.

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)

Parametreler

record
SqlDataRecord

SqlDataRecord İstemciye gönderilecek satırın sütun değerlerini içeren bir nesne. Kaydın şeması, yöntemine geçirilen öğesinin meta verileri SqlDataRecord tarafından tanımlanan şemayla SendResultsStart(SqlDataRecord) eşleşmelidir.

Özel durumlar

, record şeklindedir null.

Yöntemi SendResultsStart(SqlDataRecord) daha önce çağrılmıyordu.

Örnekler

Aşağıdaki örnek yeni SqlDataRecord bir ve oluşturur SqlMetaData. Örnek daha sonra yöntemini kullanarak bir sonuç kümesinin başlangıcını SendResultsStart işaretler, örnek verileri içeren kayıtları yöntemini kullanarak SendResultsRow istemciye geri gönderir ve sonuç kümesinin sonunu yöntemiyle SendResultsEnd işaretler.

[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

Açıklamalar

Yönetilen saklı yordamlar, bir SqlDataReaderuygulamayan istemcilere sonuç kümeleri gönderebilir. Ve ile SendResultsStartSendResultsEndbirlikte bu yöntem, saklı yordamların istemciye özel sonuç kümeleri göndermesine izin verir.

yöntemi istemciye SendResultsRow tek bir veri satırı gönderir. Satırlar daha sonra çağrılarak, gönderilen her satır için bir kez çağrılarak SendResultsRowçağırana döndürülebilir. Tüm satırlar gönderildikten sonra, sonuç kümesinin SendResultsEnd sonunu işaretlemek için yöntemine bir çağrı yapılması gerekir.

Şunlara uygulanır

Ayrıca bkz.