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

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

SqlCommand.ExecuteXmlReader メソッド

CommandText を Connection に送信し、XmlReader オブジェクトを構築します。

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

Dim instance As SqlCommand
Dim returnValue As XmlReader

returnValue = instance.ExecuteXmlReader
public XmlReader ExecuteXmlReader ()
public:
XmlReader^ ExecuteXmlReader ()
public XmlReader ExecuteXmlReader ()
public function ExecuteXmlReader () : XmlReader

戻り値
XmlReader オブジェクト。

例外例外
解説解説

CommandText プロパティには、通常、有効な FOR XML 句を使用した Transact-SQL ステートメントを指定します。ただし、CommandText には、有効な XML を格納している ntext または nvarchar データを返すステートメントや、xml データ型で定義された列の内容も指定できます。

ExecuteXmlReader クエリは、通常、次の形式で指定します。この例は、Microsoft Visual C# のコード例です。

SqlCommand command = new SqlCommand("SELECT * FROM dbo.Customers FOR XML AUTO, XMLDATA",
 SqlConn);
メモメモ

このタイプのクエリは、Microsoft SQL Server 2000 以降でしか使用できません。詳細については、『SQL Server Books Online』の「FOR XML 句を使用するためのガイドライン」を参照してください。

SQL Server 2005 では、このメソッドを使用して、XML データを保持する、単一行、単一列の結果セットを取得することもできます。この場合、複数の行が返されると、ExecuteXmlReader メソッドが XmlReader を最初の行の値にアタッチし、結果セットの残りを破棄します。

SQL Server 2005 より前のバージョンの SQL Server の場合、XmlReader が使用されている間、関連付けられている SqlConnection は XmlReader によって使用されるため、ビジー状態になります。この状態では、SqlConnection に対して、閉じる以外の操作を実行できません。XmlReader の Close メソッドを呼び出すまでこの状態が続きます。SQL Server 2005 では、MARS (Multiple Active Result Set) 機能がサポートされ、同一接続を使用して複数の処理を実行できるようになりました。

ExecuteReader または BeginExecuteReader を使用して XML データにアクセスした場合、SQL Server は、長さが 2,033 文字を超える XML 結果を、各行が 2,033 文字から構成される複数の行に返します。この動作を回避するためには、ExecuteXmlReader または BeginExecuteXmlReader を使用して FOR XML クエリを読み取ります。詳細については、http://support.microsoft.com にある Microsoft サポート技術情報の文書 Q310378 (「PRB: XML Data Is Truncated When You Use SqlDataReader」) を参照してください。

使用例使用例

SqlCommand を作成し、ExecuteXmlReader を使用して実行する例を次に示します。この例では、Transact-SQL FOR XML SELECT ステートメントの文字列とデータ ソースへの接続に使用する文字列が渡されます。

Public Sub CreateXMLReader(ByVal
 queryString As String, _
    ByVal connectionString As String)

    Using connection As New SqlConnection(connectionString)
        connection.Open()

        Dim command As New
 SqlCommand(queryString, connection)
        Dim reader As System.Xml.XmlReader
 = command.ExecuteXmlReader
    End Using
End Sub
private static void CreateXMLReader(string
 queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        connection.Open();
        SqlCommand command = new SqlCommand(queryString, connection);
        System.Xml.XmlReader reader = command.ExecuteXmlReader();
    }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

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

   

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



SqlCommand.ExecuteXmlReader メソッドのページの著作権

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

©2026 GRAS Group, Inc.RSS