SqlPipe.SendResultsStart メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > SqlPipe.SendResultsStart メソッドの意味・解説 

SqlPipe.SendResultsStart メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

クライアント返す結果セット先頭宣言しrecord パラメータ使用して結果セットを表すメタデータ構築します

名前空間: Microsoft.SqlServer.Server
アセンブリ: System.Data (system.data.dll 内)
構文構文

Public Sub SendResultsStart ( _
    record As SqlDataRecord _
)
Dim instance As SqlPipe
Dim record As SqlDataRecord

instance.SendResultsStart(record)
public void SendResultsStart (
    SqlDataRecord record
)
public:
void SendResultsStart (
    SqlDataRecord^ record
)
public void SendResultsStart (
    SqlDataRecord record
)
public function SendResultsStart (
    record : SqlDataRecord
)

パラメータ

record

メタデータ抽出し結果セット定義するための SqlDataRecord オブジェクト

例外例外
例外種類条件

ArgumentNullException

recordnull 参照 (Visual Basic では Nothing) です。

ArgumentException

record に列が含まれていないか、初期化されていません。

InvalidOperationException

SendResultsStart メソッド後で、SendResultsRow と SendResultsEnd のいずれにも該当しないメソッド呼び出されました。

解説解説

マネージ ストアド プロシージャは、SqlDataReader を実装ていないクライアントに対して結果セット送信できます。このメソッドを、SendResultsRow および SendResultsEnd組み合わせて使用することで、ストアド プロシージャからクライアント対しカスタム結果セット送信できます

SendResultsStart メソッドは、結果セット先頭宣言するほか、結果セットを表すメタデータを、record パラメータ使って構築しますそれ以降SendResultsRow メソッド送信するすべての行は、そのメタデータ定義と一致していることが必要です。

SendResultsStart呼び出した後、続けて呼び出すことができるのは SendResultsRow および SendResultsEnd だけです。これら以外のメソッドを SqlPipe の同じインスタンス呼び出した場合は、InvalidOperationExceptionスローさます。SendResultsEnd により SqlPipe初期状態戻され、再び他のメソッド呼び出すことができるようになります

使用例使用例

次の例では、新しSqlDataRecord と、その SqlMetaData オブジェクト作成します。さらに、SendResultsStart メソッド結果セット先頭宣言しサンプルデータを含むレコードを、SendResultsRow メソッドクライアント返した後、結果セット最後に到達したことを、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
[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();
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
SqlPipe クラス
SqlPipe メンバ
Microsoft.SqlServer.Server 名前空間
SendResultsRow
SendResultsEnd



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

SqlPipe.SendResultsStart メソッドのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



SqlPipe.SendResultsStart メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS