ヘッダーをスキップ

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ネームスペース、23/30


OracleXmlSavePropertiesクラス

OracleXmlSavePropertiesオブジェクトは、XmlCommandTypeプロパティがInsertUpdateまたはDeleteの場合に、OracleCommandクラスで使用されるXMLプロパティを表します。

クラスの継承

Object

  OracleXmlSaveProperties

宣言
public sealed class OracleXmlSaveProperties : ICloneable

スレッド・セーフティ

インスタンス・メソッドではスレッド・セーフティを保証しませんが、すべてのpublic staticメソッドはスレッド・セーフです。

備考

OracleXmlSavePropertiesは、OracleCommandクラスのXmlSavePropertiesプロパティを使用してアクセスし、変更できます。各OracleCommandオブジェクトには、それぞれのOracleXmlSavePropertiesクラスのインスタンスがXmlSavePropertiesプロパティにあります。

デフォルトのコンストラクタを使用して、OracleXmlSavePropertiesの新規インスタンスを取得します。OracleXmlSaveProperties.Clone()メソッドを使用して、OracleXmlSavePropertiesインスタンスのコピーを取得します。

この例では、XML文書を使用して、リレーショナル表またはビューに対して挿入、更新および削除を実行する方法を説明しています。


// C#
string[] KeyColumnsList = null;
string[] UpdateColumnsList = null;
int rows = 0;

// 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 insert.
cmd.XmlCommandType = OracleXmlCommandType.Insert;

// Set the XML document.
cmd.CommandText = "<?xml version=\"1.0\"?>\n" +
                  "<ROWSET>\n" +
                  "  <MYROW num = \"1\">\n" +
                  "    <EMPLOYEE_ID>1234</EMPLOYEE_ID>\n" +
                  "    <LAST_NAME>Smith</LAST_NAME>\n" +
                  "    <EMAIL>Smith@Oracle.com</EMAIL>\n" +
                  "    <HIRE_DATE>1/1/2003 0:0:0</HIRE_DATE>\n" +
                  "    <JOB_ID>IT_PROG</JOB_ID>\n" +
                  "  </MYROW>\n" +
                  "  <MYROW num = \"2\">\n" +
                  "    <EMPLOYEE_ID>1235</EMPLOYEE_ID>\n" +
                  "    <LAST_NAME>Barney</LAST_NAME>\n" +
                  "    <EMAIL>Barney@Oracle.com</EMAIL>\n" +
                  "    <HIRE_DATE>1/1/2003 0:0:0</HIRE_DATE>\n" +
                  "    <JOB_ID>IT_PROG</JOB_ID>\n" +
                  "  </MYROW>\n" +
                  "</ROWSET>\n";

// Set the XML save properties.
KeyColumnsList = new string[1];
KeyColumnsList[0] = "EMPLOYEE_ID";

UpdateColumnsList = new string[5];
UpdateColumnsList[0] = "EMPLOYEE_ID";
UpdateColumnsList[1] = "LAST_NAME";
UpdateColumnsList[2] = "EMAIL";
UpdateColumnsList[3] = "HIRE_DATE";
UpdateColumnsList[4] = "JOB_ID";

cmd.XmlSaveProperties.KeyColumnsList = KeyColumnsList;
cmd.XmlSaveProperties.RowTag =  "MYROW";
cmd.XmlSaveProperties.Table =  "employees";
cmd.XmlSaveProperties.UpdateColumnsList = UpdateColumnsList;
cmd.XmlSaveProperties.Xslt =  null;
cmd.XmlSaveProperties.XsltParams =  null;

// Do the inserts.
rows = cmd.ExecuteNonQuery();
Console.WriteLine("rows: " + rows);

// Set the XML command type to update.
cmd.XmlCommandType =  OracleXmlCommandType.Update;

// Set the XML document.
cmd.CommandText = "<?xml version=\"1.0\"?>\n" +
                  "<ROWSET>\n" +
                  "  <MYROW num = \"1\">\n" +
                  "    <EMPLOYEE_ID>1234</EMPLOYEE_ID>\n" +
                  "    <LAST_NAME>Adams</LAST_NAME>\n" +
                  "  </MYROW>\n" +
                  "</ROWSET>\n";

// Set the XML save properties.
KeyColumnsList = new string[1];
KeyColumnsList[0] = "EMPLOYEE_ID";

UpdateColumnsList = new string[1];
UpdateColumnsList[0] = "LAST_NAME";

cmd.XmlSaveProperties.KeyColumnsList = KeyColumnsList;
cmd.XmlSaveProperties.UpdateColumnsList = UpdateColumnsList;

// Do the updates.
rows = cmd.ExecuteNonQuery();
Console.WriteLine("rows: " + rows);

// Set the XML command type to delete.
cmd.XmlCommandType =  OracleXmlCommandType.Delete;

// Set the XML document.
cmd.CommandText = "<?xml version=\"1.0\"?>\n" +
                  "<ROWSET>\n" +
                  "  <MYROW num = \"1\">\n" +
                  "    <EMPLOYEE_ID>1234</EMPLOYEE_ID>\n" +
                  "  </MYROW>\n" +
                  "  <MYROW num = \"2\">\n" +
                  "    <EMPLOYEE_ID>1235</EMPLOYEE_ID>\n" +
                  "  </MYROW>\n" +
                  "</ROWSET>\n";

// Set the XML save properties.
KeyColumnsList = new string[1];
KeyColumnsList[0] = "EMPLOYEE_ID";

cmd.XmlSaveProperties.KeyColumnsList = KeyColumnsList;
cmd.XmlSaveProperties.UpdateColumnsList = null;

// Do the deletes.
rows = cmd.ExecuteNonQuery();
Console.WriteLine("rows: " + rows);

// Clean up.
cmd.Dispose();
conn.Close();
conn.Dispose();

要件

ネームスペース: Oracle.DataAccess.Client

アセンブリ: Oracle.DataAccess.dll

関連項目:

OracleXmlSavePropertiesのメンバー

OracleXmlSavePropertiesのメンバーを次の表に示します。

OracleXmlSavePropertiesのコンストラクタ

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

表4-123 OracleXmlSavePropertiesのコンストラクタ
コンストラクタ 説明

OracleXmlSavePropertiesのコンストラクタ

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

OracleXmlSavePropertiesのプロパティ

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

表4-124 OracleXmlSavePropertiesのプロパティ 
名前 説明

KeyColumnsList

XML文書を使用して、更新または削除のために既存の行を検索するキーとして使用する列のリストを指定します。

RowTag

XML文書でデータの行を識別するXML要素の値を指定します。

Table

変更が保存される表またはビューの名前を指定します。

UpdateColumnsList

更新または挿入する列のリストを指定します。

Xslt

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

XsltParams

Xsltプロパティで指定されたXSLT文書のパラメータを指定します。

OracleXmlSavePropertiesのpublicメソッド

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

表4-125 OracleXmlSavePropertiesのpublicメソッド 
名前 説明

Clone

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

関連項目:

OracleXmlSavePropertiesのコンストラクタ

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

宣言
// C#
public OracleXmlSaveProperties;

関連項目:

OracleXmlSavePropertiesのプロパティ

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

表4-126 OracleXmlSavePropertiesのプロパティ 
名前 説明

KeyColumnsList

XML文書を使用して、更新または削除のために既存の行を検索するキーとして使用する列のリストを指定します。

RowTag

XML文書でデータの行を識別するXML要素の値を指定します。

Table

変更が保存される表またはビューの名前を指定します。

UpdateColumnsList

更新または挿入する列のリストを指定します。

Xslt

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

XsltParams

Xsltプロパティで指定されたXSLT文書のパラメータを指定します。

関連項目:

KeyColumnsList

このプロパティは、XML文書を使用して、更新または削除のために既存の行を検索するキーとして使用する列のリストを指定します。

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

コラムのリスト

備考

デフォルト値はnullです。

最初のnull値(ある場合)でリストは終わります。

XMLCommandTypeプロパティ値によるKeyColumnsListの使用方法は、次のとおりです。

RowTag

このプロパティは、XML文書でデータの行を識別するXML要素の値を指定します。

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

XML要素名

備考

デフォルト値はROWです。

XML文書の各要素は、表またはビュー内の1行を識別します。

RowTag""またはnullに設定されている場合、XML文書内で行タグは使用されません。この場合、XML文書には1行しか含まれていないものと考えられます。

関連項目:

このプロパティは、変更が保存される表またはビューの名前を指定します。

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

表名

備考

デフォルト値はnullです。

プロパティは、有効な表またはビュー名に設定する必要があります。

関連項目:

UpdateColumnsList

このプロパティは、更新または挿入する列のリストを指定します。

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

コラムのリスト

備考

デフォルト値はnullです。

最初のnull値(ある場合)でリストは終わります。

XMLCommandTypetプロパティ値によるUpdateColumnListの使用方法は、次のとおりです。

Xslt

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

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

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

備考

デフォルトはnullです。

XSL文書が、指定されたXML文書のXSLT変換に使用されます。変換されたXML文書は、表またはビューに変更を保存するために使用されます。

関連項目:

XsltParams

このプロパティは、Xsltプロパティで指定されたXSLT文書のパラメータを指定します。

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

XSLT文書のパラメータ

備考

デフォルトはnullです。

このプロパティは、"param1=value1; param2=value2; ..."の形式の"name=value"のペアとしてセミコロンで区切られた文字列です。

関連項目:

OracleXmlSavePropertiesのpublicメソッド

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

表4-127 OracleXmlSavePropertiesのpublicメソッド 
名前 説明

Clone

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

Clone

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

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

OracleXmlSavePropertiesオブジェクト

実装

ICloneable

関連項目:

Oracle Data Providerの列挙体

Oracle Data Provider for .NETで提供されている列挙体は、次のとおりです。


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
索引