ヘッダーをスキップ
Oracle® Data Provider for .NET開発者ガイド
12c リリース1(12.1)
B72971-07
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

OracleUdtクラス

OracleUdtクラスは、カスタム・タイプからOracle UDTを変換、またはその逆を実行する際に使用される静的メソッドを定義します。

クラスの継承

System.Object

  System.OracleUdt

宣言

public sealed class OracleUdt

要件

プロバイダ ODP.NET管理対象外ドライバ
アセンブリ Oracle.DataAccess.dll
ネームスペース Oracle.DataAccess.Types
.NET Framework 3.5, 4.0, 4.5

スレッド安全性

パブリック静的メソッドはスレッドセーフですが、インスタンス・メソッドではスレッド安全性は保証されません。

OracleUdtメンバー

OracleUdt静的メソッドを、表16-28にリストします。

表16-28 OracleUdt静的メソッド

静的メソッド 説明

Equals

System.Objectからの継承

GetValue


指定されたOracle UDTからの属性または要素を取得します(オーバーロード)

IsDBNull


取得される指定属性がNULLかどうかを示します(オーバーロード)

SetValue


指定されたOracle UDTに対する属性または要素を設定します(オーバーロード)


OracleUDT静的メソッド

OracleUDTメソッドを、表16-29にリストします。

表16-29 OracleUdt静的メソッド

静的メソッド 説明

Equals

System.Objectからの継承

GetValue


指定されたOracle UDTからの属性または要素を取得します(オーバーロード)

IsDBNull


取得される指定属性がNULLかどうかを示します(オーバーロード)

SetValue


指定されたOracle UDTに対する属性または要素を設定します(オーバーロード)


GetValue

GetValueメソッドは、指定されたOracle UDTから属性または要素を取得します。

オーバーロード・リスト:

GetValue(OracleConnection, IntPtr, string)

このメソッドは、指定属性名を使用した指定Oracle UDTから属性または要素を取得します。

宣言

public static object GetValue(OracleConnection con, IntPtr pUdt, string attrName);

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのポインタ。

  • attrName

    取得される大/小文字を区別する属性の名前。Oracleコレクションを表すカスタム・タイプからコレクション要素を取得する場合、NULLを指定します。

戻り値

戻された属性またはコレクション要素を表すオブジェクト。

例外

ArgumentException - 指定された名前は無効な属性名です。

備考

IOracleCustomType.ToCustomObjectメソッドは、OracleUdt.GetValueメソッドを呼び出し、conおよびpUdtパラメータを渡します。OracleUdt.GetValueメソッドは次のタイプのオブジェクトを戻します。

  • Oracleオブジェクト型

    カスタム・タイプがOracleオブジェクト型を表す場合、指定属性名の戻されるタイプは、カスタム・クラスまたは構造体のメンバーのタイプであり、OracleObjectMappingAttributeオブジェクトを使用して属性にマップされます。

  • Oracleコレクション型

    カスタム・タイプがOracleコレクション型を表す場合、戻されるタイプは、OracleArrayMappingAttributeオブジェクトが適用されたカスタム・クラスまたは構造体のメンバーのタイプです。

NULL属性値の場合、タイプの適切なNULL表現を戻します。たとえば、カスタム・タイプおよびプロバイダ固有のタイプを表す属性の場合、タイプの静的Nullプロパティを戻します。Nullableタイプを表す属性の場合、たとえばSystem.StringおよびSystem.ArrayタイプにはNULLを戻し、Int32およびDateTimeのような他の残りのビルトイン・タイプには、DBNull.Valueを戻します。

GetValue(OracleConnection, IntPtr, int)

このメソッドは、指定された索引を使用した指定Oracle UDTから属性または要素を取得します。

宣言

// C#
public static object GetValue(OracleConnection con, IntPtr pUdt, int attrIndex,);

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのポインタ。

  • attrIndex

    取得される属性のゼロベースの索引。Oracleコレクションを表すカスタム・タイプからコレクション要素を取得する場合、0を指定する必要があります。

戻り値

戻された属性またはコレクション要素を表すオブジェクト。

例外

ArgumentOutOfRangeException - 指定された索引は無効な属性索引です。

備考

IOracleCustomType.ToCustomObjectメソッドは、OracleUdt.GetValueメソッドを呼び出し、conおよびpUdtパラメータを渡します。OracleUdt.GetValueメソッドは次のタイプのオブジェクトを戻します。

  • Oracleオブジェクト型

    カスタム・タイプがOracleオブジェクト型を表す場合、指定された属性索引の戻されるタイプは、カスタム・クラスまたは構造体のメンバーのタイプであり、OracleObjectMappingAttributeオブジェクトを使用して属性にマップされます。

  • Oracleコレクション型

    カスタム・タイプがOracleコレクション型を表す場合、戻されるタイプは、OracleArrayMappingAttributeオブジェクトが適用されたカスタム・クラスまたは構造体のメンバーのタイプです。

NULL属性値の場合、タイプの適切なNULL表現を戻します。たとえば、カスタム・タイプおよびプロバイダ固有のタイプを表す属性の場合、タイプの静的Nullプロパティを戻します。Nullableタイプを表す属性の場合、たとえばSystem.StringおよびSystem.ArrayタイプにはNULLを戻し、Int32およびDateTimeのような他の残りのビルトイン・タイプには、DBNull.Valueを戻します。

GetValue(OracleConnection, IntPtr, string, out object)

このメソッドは、指定Oracleオブジェクトの指定コレクション属性の要素または指定Oracleコレクションの要素のいずれかを戻します。

宣言

// C#
public static object GetValue(OracleConnection con, IntPtr pUdt, string attrName,
  out object statusArray);

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのOPAQUE型のポインタ。

  • attrName

    取得される大/小文字を区別する属性の名前。Oracleコレクションを表すカスタム・タイプからコレクション要素を取得する場合に、NULLを指定する必要があります。

  • statusArray - OracleUdtStatus配列であり、取得されたコレクション要素に対してNULLステータスを戻します。

戻り値

戻された属性またはコレクション要素を表すオブジェクト。

例外

ArgumentException - 指定された名前は無効な属性名です。

備考

IOracleCustomType.ToCustomObjectメソッドは、OracleUdt.GetValueメソッドを呼び出し、conおよびpUdtパラメータを渡します。OracleUdt.GetValueメソッドは次のタイプのオブジェクトを戻します。

  • Oracleオブジェクト型

    カスタム・タイプがOracleオブジェクト型を表す場合、指定属性名の戻されるタイプは、カスタム・クラスまたは構造体のメンバーのタイプであり、OracleObjectMappingAttributeオブジェクトを使用して属性にマップされます。

  • Oracleコレクション型

    カスタム・タイプがOracleコレクション型を表す場合、戻されるタイプは、OracleArrayMappingAttributeオブジェクトが適用されたカスタム・クラスまたは構造体のメンバーのタイプです。

NULL属性値の場合、タイプの適切なNULL表現を戻します。たとえば、カスタム・タイプおよびプロバイダ固有のタイプを表す属性の場合、タイプの静的Nullプロパティを戻します。Nullableタイプを表す属性の場合、たとえばSystem.StringおよびSystem.ArrayタイプにはNULLを戻し、Int32およびDateTimeのような他の残りのビルトイン・タイプには、DBNull.Valueを戻します。

戻されたコレクションがNULLでない場合、出力statusArrayパラメータはコレクション要素ごとにNULLステータスが指定されて移入されます。

GetValue(OracleConnection, IntPtr, int, out object)

このメソッドは、指定Oracleオブジェクトの指定コレクション属性の要素または指定Oracleコレクションの要素のいずれかを戻します。

宣言

// C#
public static object GetValue(OracleConnection con, IntPtr pUdt, int attrIndex, 
   out object statusArray);

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのOPAQUE型のポインタ。

  • attrIndex

    取得される属性のゼロベースの索引。Oracleコレクションを表すカスタム・タイプからコレクション要素を取得する場合、0を指定します。

  • statusArray

    OracleUdtStatus配列で、取得されたコレクション要素に対してNULLステータスを戻します。

戻り値

戻された属性またはコレクション要素を表すオブジェクト。

例外

ArgumentOutOfRangeException - 指定された索引は無効な属性索引です。

備考

IOracleCustomType.ToCustomObjectメソッドは、OracleUdt.GetValueメソッドを呼び出し、conおよびpUdtパラメータを渡します。OracleUdt.GetValueメソッドは次のタイプのオブジェクトを戻します。

  • Oracleオブジェクト型

    カスタム・タイプがOracleオブジェクト型を表す場合、指定された属性索引の戻されるタイプは、カスタム・クラスまたは構造体のメンバーのタイプであり、OracleObjectMappingAttributeオブジェクトを使用して属性にマップされます。

  • Oracleコレクション型

    カスタム・タイプがOracleコレクション型を表す場合、戻されるタイプは、OracleArrayMappingAttributeオブジェクトが適用されたカスタム・クラスまたは構造体のメンバーのタイプです。

NULL属性値の場合、タイプの適切なNULL表現を戻します。たとえば、カスタム・タイプおよびプロバイダ固有のタイプを表す属性の場合、タイプの静的Nullプロパティを戻します。Nullableタイプを表す属性の場合、たとえばSystem.StringおよびSystem.ArrayタイプにはNULLを戻し、Int32およびDateTimeのような他の残りのビルトイン・タイプには、DBNull.Valueを戻します。

戻されたコレクションがNULLでない場合、出力statusArrayパラメータはコレクション要素ごとにNULLステータスが指定されて移入されます。

IsDBNull

IsDBNullメソッドは、取得される指定属性がNULLかどうかを示します。

オーバーロード・リスト:

IsDBNull(OracleConnection, IntPtr, string)

このメソッドは、OracleConnection、ポインタおよび属性名が指定し、取得する属性がNULLかどうかを示します。

宣言

// C#
public static bool IsDBNull(OracleConnection con, IntPtr pUdt, string attrName);
 

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのポインタ。

  • attrName

    大/小文字を区別する属性名。

戻り値

指定された属性がNULLの場合はTrue、それ以外はfalseです。

例外

ArgumentException - 指定された名前は無効な属性名です。

備考

このメソッドは、IOracleCustomType.ToCustomObjectメソッドから呼び出されます。IOracleCustomType.ToCustomObjectメソッドからOracleUdt.IsDBNullメソッドへconおよびpUdtパラメータを渡します。attrNameパラメータは大/小文字を区別します。

IsDBNull(OracleConnection, IntPtr, int)

このメソッドは、OracleConnection、ポインタおよび属性索引が指定し、取得する属性がNULLかどうかを示します。

宣言

// C#
public static bool IsDBNull(OracleConnection con, IntPtr pUdt, int attrIndex);
 

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのOPAQUE型のポインタ。

  • attrIndex

    ゼロベースの属性の索引。

戻り値

指定された属性がNULLの場合はTrue、それ以外はfalseです。

例外

ArgumentOutOfRangeException - 指定された索引は無効な属性索引です

備考

このメソッドは、IOracleCustomType.ToCustomObjectメソッドから呼び出されます。IOracleCustomType.ToCustomObjectメソッドからOracleUdt.IsDBNullメソッドへconおよびpUdtパラメータを渡します。

SetValue

SetValueメソッドは、指定されたOracle UDTに属性または要素を設定します。

オーバーロード・リスト:

SetValue(OracleConnection, IntPtr, string, object)

このメソッドは、指定された属性名および値を使用して、指定Oracle UDTに属性または要素を設定します。

宣言

// C#
public static void SetValue(OracleConnection con, IntPtr pUdt, string attrName, 
   object value);

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのOPAQUE型のポインタ。

  • attrName

    設定される属性名。Oracleコレクションを表すカスタム・タイプからのコレクション要素を設定するためにNULLを指定します。

  • value

    設定される属性またはコレクション値。

例外

ArgumentException - 指定した値は適切な型ではありません。

備考

IOracleCustomType.FromCustomObjectメソッドは、OracleUdt.SetValueを呼び出してconおよびpUdtパラメータを渡します。OracleUdt.SetValueメソッドは、次のタイプのオブジェクトを戻します。

  • Oracleオブジェクト型

    カスタム・タイプがOracleオブジェクト型を表す場合、OracleObjectMappingAttributeオブジェクトを使用して属性にマップされるカスタム・クラスまたは構造体のメンバーのタイプが、指定した属性の名前に対して受け入れられます。

  • Oracleコレクション型

    カスタム・タイプがOracleコレクション型を表す場合、OracleArrayMappingAttributeオブジェクトが適用されるカスタム・クラスまたは構造体のメンバーのタイプが受け入れられます。

SetValue(OracleConnection, IntPtr, int, object)

このメソッドは、指定された索引および値を使用して、指定Oracle UDTに属性または要素を設定します。

宣言

// C#
public static void SetValue(OracleConnection con, IntPtr pUdt, int attrIndex, object value);

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのOPAQUE型のポインタ。

  • attrIndex

    設定される属性の索引。Oracleコレクションを表すカスタム・タイプからのコレクション要素を設定するために0を指定します。

  • value

    設定される属性またはコレクション値。

例外

ArgumentException - 指定した値は適切な型ではありません。

備考

IOracleCustomType.FromCustomObjectメソッドは、OracleUdt.SetValueを呼び出してconおよびpUdtパラメータを渡します。OracleUdt.SetValueメソッドは、次のタイプのオブジェクトを戻します。

  • Oracleオブジェクト型

    カスタム・タイプがOracleオブジェクト型を表す場合、OracleObjectMappingAttributeオブジェクトを使用して属性にマップされるカスタム・クラスまたは構造体のメンバーのタイプが、指定した属性索引のタイプに対して受け入れられます。

  • Oracleコレクション型

    カスタム・タイプがOracleコレクション型を表す場合、OracleArrayMappingAttributeオブジェクトが適用されるカスタム・クラスまたは構造体のメンバーのタイプが受け入れられます。

SetValue(OracleConnection, IntPtr, string, object, object)

このメソッドは、コレクション要素の指定されたNULLステータスを使用して、指定Oracleオブジェクトの指定コレクション属性または指定Oracleコレクションの要素のいずれかを指定した値に設定します。

宣言

// C#
public static void SetValue(OracleConnection con, IntPtr pUdt, string attrName, 
   object value, object statusArray);

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのOPAQUE型のポインタ。

  • attrName

    設定される属性名。Oracleコレクションを表すカスタム・タイプからのコレクション要素を設定するためにNULLを指定します。

  • value

    設定される属性またはコレクション値。

  • statusArray

    コレクション要素のNULLステータス。

例外

ArgumentException - 指定した値は適切な型ではありません。

備考

IOracleCustomType.FromCustomObjectメソッドは、OracleUdt.SetValueを呼び出してconおよびpUdtパラメータを渡します。OracleUdt.SetValueメソッドは、次のタイプのオブジェクトを戻します。

  • Oracleオブジェクト型

    カスタム・タイプがOracleオブジェクト型を表す場合、OracleObjectMappingAttributeオブジェクトを使用して属性にマップされるカスタム・クラスまたは構造体のメンバーのタイプが、指定した属性の名前に対して受け入れられます。

  • Oracleコレクション型

    カスタム・タイプがOracleコレクション型を表す場合、OracleArrayMappingAttributeオブジェクトが適用されるカスタム・クラスまたは構造体のメンバーのタイプが受け入れられます。

SetValue(OracleConnection, IntPtr, int, object, object)

このメソッドは、コレクション要素の指定されたNULLステータスを使用して、指定Oracleオブジェクトの指定コレクション属性または指定Oracleコレクションの要素のいずれかを指定した値に設定します。

宣言

// C#
public static void SetValue(OracleConnection con, IntPtr pUdt, int attrIndex,
  object value, object statusArray);

パラメータ

  • con

    OracleConnectionインスタンス。

  • pUdt

    Oracle UDTへのOPAQUE型のポインタ。

  • attrIndex

    設定される属性の索引。Oracleコレクションを表すカスタム・タイプからのコレクション要素を設定するために0を指定します。

  • value

    設定される属性またはコレクション値。

  • statusArray

    コレクション要素のNULLステータス。

例外

ArgumentException - 指定した値は適切な型ではありません。

備考

IOracleCustomType.FromCustomObjectメソッドは、OracleUdt.SetValueを呼び出してconおよびpUdtパラメータを渡します。OracleUdt.SetValueメソッドは、次のタイプのオブジェクトを戻します。

  • Oracleオブジェクト型

    カスタム・タイプがOracleオブジェクト型を表す場合、OracleObjectMappingAttributeオブジェクトを使用して属性にマップされるカスタム・クラスまたは構造体のメンバーのタイプが、指定した属性索引のタイプに対して受け入れられます。

  • Oracleコレクション型

    カスタム・タイプがOracleコレクション型を表す場合、OracleArrayMappingAttributeオブジェクトが適用されるカスタム・クラスまたは構造体のメンバーのタイプが受け入れられます。