SqlPipe クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
このクラスを使用すると、SQL Server データベース上でインプロセスで実行されるマネージド ストアド プロシージャから、呼び出し元に結果を返すことができます。 このクラスは継承できません。
public ref class SqlPipe sealed
public sealed class SqlPipe
type SqlPipe = class
Public NotInheritable Class SqlPipe
- 継承
-
SqlPipe
例
次の例では、 と SqlCommand を使用SqlConnectionして、ストアド プロシージャ内のデータ ソースから行を選択します。 次に、 を使用 SqlPipe してコマンドを実行し、結果をクライアントに送り返します。
[Microsoft.SqlServer.Server.SqlProcedure()]
public static void StoredProcExecuteCommand(int rating)
{
// Connect through the context connection.
using (SqlConnection connection = new SqlConnection("context connection=true"))
{
connection.Open();
SqlCommand command = new SqlCommand(
"SELECT VendorID, AccountNumber, Name FROM Purchasing.Vendor " +
"WHERE CreditRating <= @rating", connection);
command.Parameters.AddWithValue("@rating", rating);
// Execute the command and send the results directly to the client.
SqlContext.Pipe.ExecuteAndSend(command);
}
}
<Microsoft.SqlServer.Server.SqlProcedure()> _
Public Shared Sub StoredProcExecuteCommand(ByVal rating As Integer)
Dim command As SqlCommand
' Connect through the context connection
Using connection As New SqlConnection("context connection=true")
connection.Open()
command = New SqlCommand( _
"SELECT VendorID, AccountNumber, Name FROM Purchasing.Vendor " & _
"WHERE CreditRating <= @rating", connection)
command.Parameters.AddWithValue("@rating", rating)
' Execute the command and send the results directly to the client
SqlContext.Pipe.ExecuteAndSend(command)
End Using
End Sub
注釈
このクラスのインスタンスは、 クラスの プロパティを使用して、マネージド ストアド プロシージャでPipeSqlContext使用できます。
プロパティ
IsSendingResults |
SqlPipe に、単一の結果セットをクライアントに返すモードが使用されているかどうかを示す値を取得します。 このプロパティは読み取り専用です。 |
メソッド
ExecuteAndSend(SqlCommand) |
パラメーターとして渡されたコマンドを実行し、結果をクライアントに返します。 |
Send(SqlDataReader) |
複数行の結果セットを直接クライアントまたは現在の出力のコンシューマーに送信します。 |
Send(SqlDataRecord) |
単一行の結果セットを直接クライアントまたは現在の出力のコンシューマーに送信します。 |
Send(String) |
文字列メッセージを直接クライアントまたは現在の出力のコンシューマーに送信します。 |
SendResultsEnd() |
結果セットの最後に到達したことを示し、SqlPipe インスタンスを初期状態に戻します。 |
SendResultsRow(SqlDataRecord) |
単一行のデータをクライアントに返します。 |
SendResultsStart(SqlDataRecord) |
クライアントに返す結果セットの先頭を宣言し、record パラメーターを使用して結果セットを表すメタデータを構築します。 |