SqlPipe.SendResultsRow(SqlDataRecord) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
데이터의 단일 행을 클라이언트로 다시 보냅니다.
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)의 메타데이터가 설명하는 스키마와 일치해야 합니다.
예외
record
이 null
인 경우
SendResultsStart(SqlDataRecord) 메서드가 이전에 호출되지 않은 경우
예제
다음 예제에서는 새 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
설명
관리 되는 저장된 프로시저 구현 하지 않는 클라이언트에 결과 집합을 보낼 수 있습니다는 SqlDataReader합니다. 이 메서드를 함께 SendResultsStart 고 SendResultsEnd, 저장된 프로시저에서 사용자 지정 결과 집합을 클라이언트로 보낼 수 있습니다.
SendResultsRow 메서드는 단일 데이터 행을 클라이언트로 다시 보냅니다. 행 수를 호출 하 여 이후에 호출자에 게 반환 하는 수 SendResultsRow, 보내는 각 행에 대해 한 번입니다. 모든 행을 보낸 후에 대 한 호출을 SendResultsEnd 메서드는 결과 집합의 끝을 표시 해야 합니다.