| Oracle® Data Provider for .NET開発者ガイド リリース9.2.0.4 部品番号 B13807-01 |
|
Oracle.DataAccess.Clientネームスペース、22/30
OracleXmlQueryPropertiesオブジェクトは、XmlCommandTypeプロパティがQueryの場合に、OracleCommandクラスで使用されるXMLプロパティを表します。
Object
OracleXmlQueryProperties
public sealed class OracleXmlQueryProperties : ICloneable
インスタンス・メソッドではスレッド・セーフティを保証しませんが、すべてのpublic staticメソッドはスレッド・セーフです。
OracleXmlQueryPropertiesは、OracleCommandクラスのXmlQueryPropertiesプロパティを使用してアクセスし、変更できます。各OracleCommandオブジェクトには、それぞれのOracleXmlQueryPropertiesクラスのインスタンスがXmlQueryPropertiesプロパティにあります。
デフォルトのコンストラクタを使用して、OracleXmlQueryPropertiesの新規インスタンスを取得します。OracleXmlQueryProperties.Clone()メソッドを使用して、OracleXmlQueryPropertiesインスタンスのコピーを取得します。
この例では、リレーショナル・データをXMLとして取得します。
// C# StreamReader sr = null; // Create the connection. string constr = "User Id=hr;Password=hr;Data Source=orcl"; OracleConnection conn = new OracleConnection(constr); conn.Open(); // Create the command. OracleCommand cmd = new OracleCommand("", conn); // Set the XML command type to query. cmd.XmlCommandType = OracleXmlCommandType.Query; // Set the SQL query. cmd.CommandText = "select * from employees e where e.employee_id = :empno"; // Set command properties that affect XML query behaviour. cmd.BindByName = true; cmd.AddRowid = true; // Bind values to the parameters in the SQL query. Int32 empNum = 205; cmd.Parameters.Add(":empno", OracleDbType.Int32, empNum, ParameterDirection.Input); // Set the XML query properties. cmd.XmlQueryProperties.MaxRows = -1; cmd.XmlQueryProperties.RootTag = "MYROWSET"; cmd.XmlQueryProperties.RowTag = "MYROW"; cmd.XmlQueryProperties.Xslt = null; cmd.XmlQueryProperties.XsltParams = null; // Test query execution without returning a result. int rows = cmd.ExecuteNonQuery(); Console.WriteLine("rows: " + rows); // Get the XML document as an XmlReader. XmlReader xmlReader = cmd.ExecuteXmlReader(); XmlDocument xmlDocument = new XmlDocument(); xmlDocument.PreserveWhitespace = true; xmlDocument.Load(xmlReader); Console.WriteLine(xmlDocument.OuterXml); // Change the SQL query, and set the maximum number of rows to 2. cmd.CommandText = "select * from employees e"; cmd.Parameters.Clear(); cmd.XmlQueryProperties.MaxRows = 2; // Get the XML document as a Stream. Stream stream = cmd.ExecuteStream(); sr = new StreamReader(stream, Encoding.Unicode); Console.WriteLine(sr.ReadToEnd()); // Get all the rows. cmd.XmlQueryProperties.MaxRows = -1; // Append the XML document to an existing Stream. MemoryStream mstream = new MemoryStream(32); cmd.ExecuteToStream(mstream); mstream.Seek(0, SeekOrigin.Begin); sr = new StreamReader(mstream, Encoding.Unicode); Console.WriteLine(sr.ReadToEnd()); // Clean up. cmd.Dispose(); conn.Close(); conn.Dispose();
ネームスペース: Oracle.DataAccess.Client
アセンブリ: Oracle.DataAccess.dll
OracleXmlQueryPropertiesのメンバーを次の表に示します。
OracleXmlQueryPropertiesのコンストラクタを表4-118に示します。
| コンストラクタ | 説明 |
|---|---|
|
|
OracleXmlQueryPropertiesのプロパティを表4-119に示します。
| 名前 | 説明 |
|---|---|
|
問合せの結果セットで結果のXML文書として表すことができる最大行数を指定します。 |
|
|
結果のXML文書のルート要素を指定します。 |
|
|
結果セットから作成されたXML文書のデータの行を識別するXML要素の値を指定します。 |
|
|
XSLTを使用してXML変換に使用されるXSL文書を指定します。 |
|
|
XSL文書のパラメータを指定します。 |
OracleXmlQueryPropertiesのpublicメソッドを表4-120に示します。
| 名前 | 説明 |
|---|---|
|
|
OracleXmlQueryPropertiesコンストラクタは、OracleXmlQueryPropertiesクラスの新規インスタンスをインスタンス化します。
// C# public OracleXmlQueryProperties();
OracleXmlQueryPropertiesのプロパティを表4-121に示します。
| 名前 | 説明 |
|---|---|
|
問合せの結果セットで結果のXML文書として表すことができる最大行数を指定します。 |
|
|
結果のXML文書のルート要素を指定します。 |
|
|
結果セットから作成されたXML文書のデータの行を識別するXML要素の値を指定します。 |
|
|
XSLTを使用してXML変換に使用されるXSL文書を指定します。 |
|
|
XSL文書のパラメータを指定します。 |
このプロパティは、問合せの結果セットで結果のXML文書として表すことができる最大行数を指定します。
// C# public int MaxRows {get; set;}
最大行数
ArgumentException: MaxRowsの新規の値が無効です。
デフォルト値は-1です。
指定可能な値は次のとおりです。
このプロパティは、結果のXML文書のルート要素を指定します。
// C# public string RootTag {get; set;}
結果のXML文書のルート要素
デフォルトのルート・タグはROWSETです。
結果のXML文書でルート・タグが使用されていないことを示すには、このプロパティをnullまたは""またはString.Emptyに設定します。
RootTagとRowTagの両方がnullに設定されている場合は、結果セットが1行および1列を返す場合にのみ、XML文書が返されます。
このプロパティは、結果セットから作成されたXML文書のデータの行を識別するXML要素の値を指定します。
// C# public string RowTag {get; set;}
XML要素の値
デフォルトはROWです。
結果のXML文書で行タグが使用されていないことを示すには、このプロパティをnullまたは""またはString.Emptyに設定します。
RootTagとRowTagの両方がnullに設定されている場合は、結果セットが1行および1列を返す場合にのみ、XML文書が返されます。
このプロパティは、XSLTを使用してXML変換に使用されるXSL文書を指定します。
// C# public string Xslt {get; set;}
XML変換に使用されるXSL文書
デフォルト値はnullです。
XSL文書は、問合せの結果セットから生成されたXML文書のXML変換に使用されます。
このプロパティは、XSL文書のパラメータを指定します。
// C# public string XsltParams {get; set;}
XSL文書のパラメータ
デフォルト値はnullです。
パラメータは、セミコロンで区切られた"param1=value1; param2=value2; ..."の形式の"name=value"のペアの文字列として指定されます。
OracleXmlQueryPropertiesのpublicメソッドを表4-122に示します。
| 名前 | 説明 |
|---|---|
|
|
このメソッドは、OracleXmlQueryPropertiesオブジェクトのコピーを作成します。
// C# public object Clone();
OracleXmlQueryPropertiesオブジェクト
ICloneable
|
|
![]() Copyright © 2002, 2003 Oracle Corporation. All Rights Reserved. |
|