OracleParameter クラスとは? わかりやすく解説

OracleParameter クラス

OracleCommand のパラメータと、オプションとして DataColumn に対すマップ表します。このクラス継承できません。

名前空間: System.Data.OracleClient
アセンブリ: System.Data.OracleClient (system.data.oracleclient.dll 内)
構文構文

Public NotInheritable Class
 OracleParameter
    Inherits DbParameter
    Implements ICloneable, IDbDataParameter, IDataParameter
Dim instance As OracleParameter
public sealed class OracleParameter : DbParameter,
 ICloneable, IDbDataParameter, IDataParameter
public ref class OracleParameter sealed : public
 DbParameter, ICloneable, IDbDataParameter, IDataParameter
public final class OracleParameter extends
 DbParameter implements ICloneable, IDbDataParameter, 
    IDataParameter
public final class OracleParameter extends
 DbParameter implements ICloneable, IDbDataParameter, 
    IDataParameter
解説解説

パラメータ名では大文字と小文字区別されません。

Microsoft OLE DB Provider for Oracle (MSDAORA) と ODBC .NET Framework データ プロバイダ使用して Oracle データベース対すクエリ実行する場合LIKE 句を使用して固定長フィールドの値を問い合わせると、期待される一致したデータがすべて返されないことがあります。これは、Oracle によって LIKE 句の固定長フィールドの値との比較が行われるときに、末尾空白含めて文字列全長わたって比較が行われるからです。たとえば、Oracle データベーステーブルchar(3) として定義されている Field1 という名前のフィールド存在し、そのテーブルの行の 1 つに "a" という値を入力した場合次のコードでは該当する行が返されません。

Dim queryString As String
 = "SELECT * FROM Table1 WHERE Field1 LIKE ?"
Dim command As OleDbCommand = New
 OleDbCommand(queryString, connection)
command.Parameters.Add("@p1", OleDbType.Char, 3).Value
 = "a"
Dim reader As OleDbDataReader = command.ExecuteReader()
string queryString = "SELECT * FROM Table1 WHERE Field1 LIKE
 ?";
OleDbCommand command = new OleDbCommand(queryString, connection);
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a";
OleDbDataReader reader = command.ExecuteReader();

これは、Oracle では、3 の固定長合わせるために "a" に続けて空白埋めて、列値を "a " として格納しているからです。Oracle は、固定長フィールドLIKE 比較において、これをパラメータ値 "a" と一致しているとは見なしません。

この問題解決するには、パーセント ("%") ワイルドカード文字パラメータ値 ("a%") に追加するか、または代わりに SQL = 比較使用します

使用例使用例

OracleDataAdapter の OracleParameterCollection を使用してOracleParameter複数インスタンス作成する例を次に示します。これらのパラメータ使用してデータベースからデータ選択しDataSetデータ格納します。この例は、DataSet および OracleDataAdapter が、正しスキーマコマンド、および接続で既に作成されていることを前提にしています。

Public Sub AddOracleParameters()
    ' ...
    ' create dataSet and adapter
    ' ...
adapter.SelectCommand.Parameters.Add("pEName", OracleType.VarChar,
 80).Value = "Smith"
adapter.SelectCommand.Parameters.Add("pEmpNo", OracleType.Int32).Value
 = 7369
adapter.Fill(dataSet)
End Sub 
public void AddOracleParameters() 
 {
 // ...
 // create dataSet and adapter
 // ...
   adapter.SelectCommand.Parameters.Add("pEName", OracleType.VarChar, 80).Value
 = "Smith";
   adapter.SelectCommand.Parameters.Add("pEmpNo", OracleType.Int32).Value
 = 7369;
   adapter.Fill(dataSet);
 }

継承階層継承階層
System.Object
   System.MarshalByRefObject
     System.Data.Common.DbParameter
      System.Data.OracleClient.OracleParameter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
OracleParameter メンバ
System.Data.OracleClient 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「OracleParameter クラス」の関連用語

OracleParameter クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



OracleParameter クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS