OleDbParameter クラス

定義

OleDbCommandへのパラメーターと、必要に応じてDataSet列へのマッピングを表します。 このクラスは継承できません。

public ref class OleDbParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))]
public sealed class OleDbParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))>]
type OleDbParameter = class
    inherit MarshalByRefObject
    interface IDbDataParameter
    interface IDataParameter
    interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDbDataParameter
    interface IDataParameter
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
継承
OleDbParameter
継承
属性
実装

次の例では、OleDbDataAdapter内のOleDbParameterCollection コレクションを通じてOleDbParameterの複数のインスタンスを作成します。 これらのパラメーターは、データ ソースからデータを選択し、 DataSetにデータを配置するために使用されます。 この例では、適切なスキーマ、コマンド、接続を使用して、 DataSetOleDbDataAdapter が既に作成されていることを前提としています。

public DataSet GetDataSetFromAdapter(
    DataSet dataSet, string connectionString, string queryString)
{
    using (OleDbConnection connection =
               new OleDbConnection(connectionString))
    {
        OleDbDataAdapter adapter =
            new OleDbDataAdapter(queryString, connection);

        // Set the parameters.
        adapter.SelectCommand.Parameters.Add(
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters";
        adapter.SelectCommand.Parameters.Add(
            "@SerialNum", OleDbType.Integer).Value = 239;

        // Open the connection and fill the DataSet.
        try
        {
            connection.Open();
            adapter.Fill(dataSet);
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.Message);
        }
        // The connection is automatically closed when the
        // code exits the using block.
    }
    return dataSet;
}
Public Function GetDataSetFromAdapter( _
    ByVal dataSet As DataSet, ByVal connectionString As String, _
    ByVal queryString As String) As DataSet

    Using connection As New OleDbConnection(connectionString)
        Dim adapter As New OleDbDataAdapter(queryString, connection)

        ' Set the parameters.
        adapter.SelectCommand.Parameters.Add( _
            "@CategoryName", OleDbType.VarChar, 80).Value = "toasters"
        adapter.SelectCommand.Parameters.Add( _
         "@SerialNum", OleDbType.Integer).Value = 239

        ' Open the connection and fill the DataSet.
        Try
            connection.Open()
            adapter.Fill(dataSet)
        Catch ex As Exception
            Console.WriteLine(ex.Message)
        End Try
        ' The connection is automatically closed when the
        ' code exits the Using block.
    End Using

    Return dataSet
End Function

注釈

OLE DB.NET Framework Data Providerでは、名前付きパラメーターではなく疑問符 (?) でマークされた位置指定パラメーターが使用されます。

Microsoft OLE DB Provider for Oracle (MSDAORA) と OLE DB.NET Framework Data Providerを使用して Oracle データベースに対してクエリを実行する場合、固定長フィールドの値を照会するために LIKE 句を使用すると、予期される一致がすべて返されない場合があります。 理由は、Oracle が LIKE 句の固定長フィールドの値と一致する場合、埋め込みの末尾のスペースを含め、文字列の長さ全体と一致するということです。 たとえば、Oracle データベース内のテーブルに、 char(3)として定義されている "Field1" という名前のフィールドが含まれており、そのテーブルの行に値 "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 が列の値を "a" (末尾のスペースを含む埋め込み "a") を固定フィールド長 3 に格納するためです。固定長フィールドの LIKE 比較の場合、Oracle は "a" のパラメーター値との一致として扱いません。

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

コンストラクター

名前 説明
OleDbParameter()

OleDbParameter クラスの新しいインスタンスを初期化します。

OleDbParameter(String, Object)

パラメーター名と新しいOleDbParameterの値を使用するOleDbParameter クラスの新しいインスタンスを初期化します。

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

パラメーター名、データ型、長さ、ソース列名、パラメーターの方向、数値の有効桁数、およびその他のプロパティを使用する、 OleDbParameter クラスの新しいインスタンスを初期化します。

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

パラメーター名、データ型、長さ、ソース列名、パラメーターの方向、数値の有効桁数、およびその他のプロパティを使用する、 OleDbParameter クラスの新しいインスタンスを初期化します。

OleDbParameter(String, OleDbType, Int32, String)

パラメーター名、データ型、長さ、およびソース列名を使用する OleDbParameter クラスの新しいインスタンスを初期化します。

OleDbParameter(String, OleDbType, Int32)

パラメーター名、データ型、および長さを使用する OleDbParameter クラスの新しいインスタンスを初期化します。

OleDbParameter(String, OleDbType)

パラメーター名とデータ型を使用する OleDbParameter クラスの新しいインスタンスを初期化します。

プロパティ

名前 説明
DbType

パラメーターの DbType を取得または設定します。

Direction

パラメーターが入力専用、出力専用、双方向、またはストアド プロシージャの戻り値パラメーターかどうかを示す値を取得または設定します。

IsNullable

パラメーターが null 値を受け入れるかどうかを示す値を取得または設定します。

OleDbType

パラメーターの OleDbType を取得または設定します。

ParameterName

OleDbParameterの名前を取得または設定します。

Precision

Value プロパティを表すために使用する最大桁数を取得または設定します。

Scale

Valueが解決される小数点以下の桁数を取得または設定します。

Size

列内のデータの最大サイズ (バイト単位) を取得または設定します。

SourceColumn

DataSetにマップされ、Valueの読み込みまたは返しに使用されるソース列の名前を取得または設定します。

SourceColumnNullMapping

ソース列が null 許容かどうかを示す値を取得または設定します。 これにより、 DbCommandBuilder は null 許容列の Update ステートメントを正しく生成できます。

SourceVersion

Valueを読み込むときに使用するDataRowVersionを取得または設定します。

Value

パラメーターの値を取得または設定します。

メソッド

名前 説明
CreateObjRef(Type)

リモート オブジェクトとの通信に使用されるプロキシの生成に必要なすべての関連情報を含むオブジェクトを作成します。

(継承元 MarshalByRefObject)
Equals(Object)

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetLifetimeService()

このインスタンスの有効期間ポリシーを制御する現在の有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。

(継承元 MarshalByRefObject)
ResetDbType()

この OleDbParameterに関連付けられている型をリセットします。

ResetOleDbType()

この OleDbParameterに関連付けられている型をリセットします。

ToString()

ParameterNameを含む文字列を取得します。

明示的なインターフェイスの実装

名前 説明
ICloneable.Clone()

このメンバーの説明については、 Clone()を参照してください。

IDbDataParameter.Precision

数値パラメーターの有効桁数を示します。

(継承元 DbParameter)
IDbDataParameter.Scale

このメンバーの説明については、 Scaleを参照してください。

(継承元 DbParameter)

適用対象

こちらもご覧ください