ヘッダーをスキップ

Oracle® Data Provider for .NET開発者ガイド
リリース9.2.0.4

部品番号 B13807-01
Go To Table Of Contents
目次
Go To Index
索引

Go to previous page Go to beginning of chapter Go to next page

Oracle.DataAccess.Clientネームスペース、22/30


OracleXmlQueryPropertiesクラス

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のメンバーを次の表に示します。

OracleXmlQueryPropertiesのコンストラクタ

OracleXmlQueryPropertiesのコンストラクタを表4-118に示します。

表4-118 OracleXmlQueryPropertiesのコンストラクタ 
コンストラクタ 説明

OracleXmlQueryPropertiesのコンストラクタ

OracleXmlQueryPropertiesクラスの新規インスタンスをインスタンス化します。

OracleXmlQueryPropertiesのプロパティ

OracleXmlQueryPropertiesのプロパティを表4-119に示します。

表4-119 OracleXmlQueryPropertiesのプロパティ 
名前 説明

MaxRows

問合せの結果セットで結果のXML文書として表すことができる最大行数を指定します。

RootTag

結果のXML文書のルート要素を指定します。

RowTag

結果セットから作成されたXML文書のデータの行を識別するXML要素の値を指定します。

Xslt

XSLTを使用してXML変換に使用されるXSL文書を指定します。

XsltParams

XSL文書のパラメータを指定します。

OracleXmlQueryPropertiesのpublicメソッド

OracleXmlQueryPropertiesのpublicメソッドを表4-120に示します。

表4-120 OracleXmlQueryPropertiesのpublicメソッド 
名前 説明

Clone

OracleXmlQueryPropertiesオブジェクトのコピーを作成します。

関連項目:

OracleXmlQueryPropertiesのコンストラクタ

OracleXmlQueryPropertiesコンストラクタは、OracleXmlQueryPropertiesクラスの新規インスタンスをインスタンス化します。

宣言
// C#
public OracleXmlQueryProperties();

関連項目:

OracleXmlQueryPropertiesのプロパティ

OracleXmlQueryPropertiesのプロパティを表4-121に示します。

表4-121 OracleXmlQueryPropertiesのプロパティ 
名前 説明

MaxRows

問合せの結果セットで結果のXML文書として表すことができる最大行数を指定します。

RootTag

結果のXML文書のルート要素を指定します。

RowTag

結果セットから作成されたXML文書のデータの行を識別するXML要素の値を指定します。

Xslt

XSLTを使用してXML変換に使用されるXSL文書を指定します。

XsltParams

XSL文書のパラメータを指定します。

関連項目:

MaxRows

このプロパティは、問合せの結果セットで結果のXML文書として表すことができる最大行数を指定します。

宣言
// C#
public int MaxRows {get; set;}
プロパティ値

最大行数

例外

ArgumentException: MaxRowsの新規の値が無効です。

備考

デフォルト値は-1です。

指定可能な値は次のとおりです。

RootTag

このプロパティは、結果のXML文書のルート要素を指定します。

宣言
// C#
public string RootTag {get; set;}
プロパティ値

結果のXML文書のルート要素

備考

デフォルトのルート・タグはROWSETです。

結果のXML文書でルート・タグが使用されていないことを示すには、このプロパティをnullまたは""またはString.Emptyに設定します。

RootTagRowTagの両方がnullに設定されている場合は、結果セットが1行および1列を返す場合にのみ、XML文書が返されます。

関連項目:

RowTag

このプロパティは、結果セットから作成されたXML文書のデータの行を識別するXML要素の値を指定します。

宣言
// C#
public string RowTag {get; set;}
プロパティ値

XML要素の値

備考

デフォルトはROWです。

結果のXML文書で行タグが使用されていないことを示すには、このプロパティをnullまたは""またはString.Emptyに設定します。

RootTagRowTagの両方がnullに設定されている場合は、結果セットが1行および1列を返す場合にのみ、XML文書が返されます。

関連項目:

Xslt

このプロパティは、XSLTを使用してXML変換に使用されるXSL文書を指定します。

宣言
// C#
public string Xslt {get; set;}
プロパティ値

XML変換に使用されるXSL文書

備考

デフォルト値はnullです。

XSL文書は、問合せの結果セットから生成されたXML文書のXML変換に使用されます。

関連項目:

XsltParams

このプロパティは、XSL文書のパラメータを指定します。

宣言
// C#
public string XsltParams {get; set;}
プロパティ値

XSL文書のパラメータ

備考

デフォルト値はnullです。

パラメータは、セミコロンで区切られた"param1=value1; param2=value2; ..."の形式の"name=value"のペアの文字列として指定されます。

関連項目:

OracleXmlQueryPropertiesのpublicメソッド

OracleXmlQueryPropertiesのpublicメソッドを表4-122に示します。

表4-122 OracleXmlQueryPropertiesのpublicメソッド 
名前 説明

Clone

OracleXmlQueryPropertiesオブジェクトのコピーを作成します。

Clone

このメソッドは、OracleXmlQueryPropertiesオブジェクトのコピーを作成します。

宣言
// C#
public object Clone();
戻り値

OracleXmlQueryPropertiesオブジェクト

実装

ICloneable

関連項目:


Go to previous page Go to beginning of chapter Go to next page
Oracle
Copyright © 2002, 2003 Oracle Corporation.

All Rights Reserved.
Go To Table Of Contents
目次
Go To Index
索引