OleDbParameter クラス

定義

OleDbCommand のパラメーターと、オプションとして DataSet 列に対するマップを表します。Represents a parameter to an OleDbCommand and optionally its mapping to a DataSet column. このクラスは継承できません。This class cannot be inherited.

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

次の例では、のOleDbParameterコレクションをOleDbParameterCollection通じて、 OleDbDataAdapterの複数のインスタンスを作成します。The following example creates multiple instances of OleDbParameter through the OleDbParameterCollection collection within the OleDbDataAdapter. これらのパラメーターは、 DataSetデータソースからデータを選択し、にデータを配置するために使用されます。These parameters are used to select data from the data source and place the data in the DataSet. この例ではDataSetOleDbDataAdapterとが、適切なスキーマ、コマンド、および接続を使用して既に作成されていることを前提としています。This example assumes that a DataSet and an OleDbDataAdapter have already been created by using the appropriate schema, commands, and connection.

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 は、名前付きパラメーターの代わりに疑問符 (?) でマークされた位置指定パラメーターを使用します。The OLE DB.NET Framework Data Provider uses positional parameters that are marked with a question mark (?) instead of named parameters.

Microsoft OLE DB Provider for Oracle (MSDAORA) と OLE DB.NET Framework Data Provider を使用して Oracle データベースに対してクエリをLIKE実行する場合は、句を使用して固定長フィールドの値を照会しても、予想されるすべての一致が返されないことがあります。When querying an Oracle database using the Microsoft OLE DB Provider for Oracle (MSDAORA) and the OLE DB.NET Framework Data Provider, using the LIKE clause to query values in fixed-length fields may not return all expected matches. Oracle がLIKE句内の固定長フィールドの値と一致する場合、末尾のスペースを含めた文字列の長さ全体に一致することが理由です。The reason is that when Oracle matches values for fixed-length fields in a LIKE clause, it matches the entire length of the string, including any padding trailing spaces. たとえば、Oracle データベースのテーブルに、としchar(3)て定義されている "Field1" という名前のフィールドが含まれている場合に、そのテーブルの行に "a" という値を入力しても、次のコードは行を返しません。For example, if a table in an Oracle database contains a field named "Field1" that is defined as char(3), and you enter the value "a" into a row of that table, the following code does not return the row.

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" (末尾のスペースを含む) を固定フィールドの長さ3に格納するためです。この場合、oracle は固定長フィールドをLIKE比較した場合に、"a" のパラメーター値とは見なされません。This is because Oracle stores the column value as "a " (padding "a", with trailing spaces, to the fixed field length of 3), which Oracle does not treat as a match for the parameter value of "a" in the case of a LIKE comparison of fixed-length fields.

この問題を解決するには、パーセント ("%") ワイルドカード文字をパラメーター値"a%"() に追加するか= 、代わりに SQL 比較を使用します。To resolve this problem, append a percentage ("%") wildcard character to the parameter value ("a%"), or use an SQL = comparison instead.

コンストラクター

OleDbParameter()

OleDbParameter クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbParameter class.

OleDbParameter(String, Object)

パラメーター名と新しい OleDbParameter の値を指定して、OleDbParameter クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbParameter class that uses the parameter name and the value of the new OleDbParameter.

OleDbParameter(String, OleDbType)

パラメーター名とデータ型を指定して、OleDbParameter クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbParameter class that uses the parameter name and data type.

OleDbParameter(String, OleDbType, Int32)

パラメーター名、データ型、および長さを指定して、OleDbParameter クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, and length.

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

パラメーター名、データ型、長さ、ソース列名、パラメーターの方向、数値の有効桁数、およびその他のプロパティを使用する OleDbParameter クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

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

パラメーター名、データ型、長さ、ソース列名、パラメーターの方向、数値の有効桁数、およびその他のプロパティを使用する OleDbParameter クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

OleDbParameter(String, OleDbType, Int32, String)

パラメーター名、データ型、長さ、およびソース列名を指定して、OleDbParameter クラスの新しいインスタンスを初期化します。Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, and source column name.

プロパティ

DbType

パラメーターの DbType を取得または設定します。Gets or sets the DbType of the parameter.

Direction

パラメーターが入力専用、出力専用、双方向、またはストアド プロシージャの戻り値パラメーターかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the parameter is input-only, output-only, bidirectional, or a stored procedure return-value parameter.

IsNullable

パラメーターが null 値を受け取るかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the parameter accepts null values.

Offset
OleDbType

パラメーターの OleDbType を取得または設定します。Gets or sets the OleDbType of the parameter.

ParameterName

OleDbParameter の名前を取得または設定します。Gets or sets the name of the OleDbParameter.

Precision

Value プロパティを表すために使用する最大桁数を取得または設定します。Gets or sets the maximum number of digits used to represent the Value property.

Scale

Value が解決される、小数点以下の桁数を取得または設定します。Gets or sets the number of decimal places to which Value is resolved.

Size

列内のデータの最大サイズをバイト単位で取得または設定します。Gets or sets the maximum size, in bytes, of the data within the column.

SourceColumn

DataSet に割り当てられ、Value の読み込みまたは戻しに使用されるソース列の名前を取得または設定します。Gets or sets the name of the source column mapped to the DataSet and used for loading or returning the Value.

SourceColumnNullMapping

ソース列が null 許容かどうかを示す値を設定または取得します。Sets or gets a value which indicates whether the source column is nullable. これにより、 DbCommandBuilder で null 許容列の Update ステートメントを正しく生成できます。This allows DbCommandBuilder to correctly generate Update statements for nullable columns.

SourceVersion

DataRowVersion の読み込み時に使用する Value を取得または設定します。Gets or sets the DataRowVersion to use when you load Value.

Value

パラメーターの値を取得または設定します。Gets or sets the value of the parameter.

メソッド

CreateObjRef(Type)

リモート オブジェクトとの通信に使用するプロキシの生成に必要な情報をすべて格納しているオブジェクトを作成します。Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(継承元 MarshalByRefObject)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetLifetimeService()

対象のインスタンスの有効期間ポリシーを制御する、現在の有効期間サービス オブジェクトを取得します。Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(継承元 MarshalByRefObject)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
InitializeLifetimeService()

このインスタンスの有効期間ポリシーを制御する有効期間サービス オブジェクトを取得します。Obtains a lifetime service object to control the lifetime policy for this instance.

(継承元 MarshalByRefObject)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
MemberwiseClone(Boolean)

現在の MarshalByRefObject オブジェクトの簡易コピーを作成します。Creates a shallow copy of the current MarshalByRefObject object.

(継承元 MarshalByRefObject)
ResetDbType()

この OleDbParameter に関連付けられている型をリセットします。Resets the type associated with this OleDbParameter.

ResetOleDbType()

この OleDbParameter に関連付けられている型をリセットします。Resets the type associated with this OleDbParameter.

ToString()

ParameterName を表す文字列を取得します。Gets a string that contains the ParameterName.

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

ICloneable.Clone()

このメンバーの説明については、Clone() のトピックを参照してください。For a description of this member, see Clone().

適用対象

こちらもご覧ください