共用方式為


SqlPipe.SendResultsRow(SqlDataRecord) 方法

定義

將資料的單一資料列傳送回用戶端。

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)

參數

record
SqlDataRecord

SqlDataRecord 物件,具有要傳送至用戶端之資料列的資料行值。 記錄的結構描述必須符合傳遞至 SqlDataRecord 方法之 SendResultsStart(SqlDataRecord) 的中繼資料 (Metadata) 所描述的結構描述。

例外狀況

recordnull

範例

下列範例會建立新的 SqlDataRecord 及其 SqlMetaData 。 然後,此範例會使用 SendResultsStart 方法標記結果集的開頭、使用 SendResultsRow 方法將具有範例資料的記錄傳回用戶端,並使用 方法標記結果集 SendResultsEnd 的結尾。

[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

備註

Managed 預存程式可以將結果集傳送至未實作 的 SqlDataReader 用戶端。 這個方法與 SendResultsStartSendResultsEnd 一起允許預存程式將自訂結果集傳送至用戶端。

方法會將 SendResultsRow 單一資料列傳回用戶端。 資料列後續可以藉由呼叫 SendResultsRow 傳回給呼叫端,針對每個傳送的資料列一次。 傳送所有資料列之後,必須呼叫 SendResultsEnd 方法,才能標記結果集的結尾。

適用於

另請參閱