SqlCommand.ExecuteXmlReader メソッド
アセンブリ: System.Data (system.data.dll 内)

Dim instance As SqlCommand Dim returnValue As XmlReader returnValue = instance.ExecuteXmlReader
XmlReader オブジェクト。


CommandText プロパティには、通常、有効な FOR XML 句を使用した Transact-SQL ステートメントを指定します。ただし、CommandText には、有効な XML を格納している ntext または nvarchar データを返すステートメントや、xml データ型で定義された列の内容も指定できます。
ExecuteXmlReader クエリは、通常、次の形式で指定します。この例は、Microsoft Visual C# のコード例です。
![]() |
---|
このタイプのクエリは、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

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からSqlCommand.ExecuteXmlReader メソッドを検索する場合は、下記のリンクをクリックしてください。

- SqlCommand.ExecuteXmlReader メソッドのページへのリンク