次の方法で共有


OdbcParameter クラス

定義

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

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

次の例では、 内で をOdbcParameterCollection介して の複数のOdbcParameterインスタンスを作成しますOdbcDataAdapter。 これらのパラメーターは、データ ソースからデータを選択し、 にデータを配置するために使用されます DataSet。 この例では、 と OdbcDataAdapterDataSet適切なスキーマ、コマンド、接続を使用して既に作成されていることを前提としています。

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

        // Set the parameters.
        adapter.SelectCommand.Parameters.Add(
            "@CategoryName", OdbcType.VarChar, 80).Value = "toasters";
        adapter.SelectCommand.Parameters.Add(
            "@SerialNum", OdbcType.Int).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 OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter(queryString, connection)

        ' Set the parameters.
        adapter.SelectCommand.Parameters.Add( _
            "@CategoryName", OdbcType.VarChar, 80).Value = "toasters"
        adapter.SelectCommand.Parameters.Add( _
         "@SerialNum", OdbcType.Int).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

注釈

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

Microsoft OLE DB Provider for Oracle (MSDAORA) と ODBC .NET Framework データ プロバイダーを使用して 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 = 比較を使用します。

コンストラクター

OdbcParameter()

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

OdbcParameter(String, Object)

パラメーター名と OdbcParameter オブジェクトを指定して、OdbcParameter クラスの新しいインスタンスを初期化します。

OdbcParameter(String, OdbcType)

パラメーター名とデータ型を指定して、OdbcParameter クラスの新しいインスタンスを初期化します。

OdbcParameter(String, OdbcType, Int32)

パラメーター名、データ型、および長さを指定して、OdbcParameter クラスの新しいインスタンスを初期化します。

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

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

OdbcParameter(String, OdbcType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object)

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

OdbcParameter(String, OdbcType, Int32, String)

パラメーター名、データ型、長さ、およびソース列名を指定して、OdbcParameter クラスの新しいインスタンスを初期化します。

プロパティ

DbType

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

Direction

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

IsNullable

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

OdbcType

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

Offset

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

ParameterName

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

Precision

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

Scale

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

Size

列内のデータの最大サイズを取得または設定します。

SourceColumn

DataSet に割り当てられ、Value の読み込みまたは戻しに使用されるソース列の名前を取得または設定します。

SourceColumnNullMapping

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

SourceVersion

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

Value

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

メソッド

CreateObjRef(Type)

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

(継承元 MarshalByRefObject)
Equals(Object)

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

(継承元 Object)
GetHashCode()

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

(継承元 Object)
GetLifetimeService()
古い.

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

(継承元 MarshalByRefObject)
GetType()

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

(継承元 Object)
InitializeLifetimeService()
古い.

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

(継承元 MarshalByRefObject)
MemberwiseClone()

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

(継承元 Object)
MemberwiseClone(Boolean)

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

(継承元 MarshalByRefObject)
ResetDbType()

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

ResetOdbcType()

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

ToString()

ParameterName を表す文字列を取得します。

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

ICloneable.Clone()

このメンバーの詳細については、「Clone()」をご覧ください。

IDbDataParameter.Precision

数値パラメーターの精度を示します。

(継承元 DbParameter)
IDbDataParameter.Scale

このメンバーの詳細については、「Scale」をご覧ください。

(継承元 DbParameter)

適用対象

こちらもご覧ください