OleDbParameter クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
OleDbCommand に対するパラメーターと、必要に応じてその DataSet 列へのマッピングを表します。 このクラスは継承できません。
public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
public ref class OleDbParameter sealed : 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))]
public sealed class OleDbParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
inherit DbParameter
interface IDataParameter
interface IDbDataParameter
interface 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 DbParameter
Implements ICloneable
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
- 継承
- 継承
- 属性
- 実装
例
次の例では、 内の OleDbParameter コレクションを介して の OleDbParameterCollection 複数のインスタンスを作成します OleDbDataAdapter。 これらのパラメーターは、データ ソースからデータを選択し、 にデータを配置するために使用されます DataSet。 この例では、 と OleDbDataAdapter がDataSet、適切なスキーマ、コマンド、接続を使用して既に作成されていることを前提としています。
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 データ プロバイダーは、名前付きパラメーターではなく疑問符 (?) でマークされた位置指定パラメーターを使用します。
Microsoft OLE DB Provider for Oracle (MSDAORA) と OLE DB.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 =
比較を使用します。
コンストラクター
OleDbParameter() |
OleDbParameter クラスの新しいインスタンスを初期化します。 |
OleDbParameter(String, Object) |
パラメーター名と新しい OleDbParameter の値を指定して、OleDbParameter クラスの新しいインスタンスを初期化します。 |
OleDbParameter(String, OleDbType) |
パラメーター名とデータ型を指定して、OleDbParameter クラスの新しいインスタンスを初期化します。 |
OleDbParameter(String, OleDbType, Int32) |
パラメーター名、データ型、および長さを指定して、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 クラスの新しいインスタンスを初期化します。 |
プロパティ
DbType |
パラメーターの DbType を取得または設定します。 |
Direction |
パラメーターが入力専用、出力専用、双方向、またはストアド プロシージャの戻り値パラメーターかどうかを示す値を取得または設定します。 |
IsNullable |
パラメーターが null 値を受け取るかどうかを示す値を取得または設定します。 |
OleDbType |
パラメーターの OleDbType を取得または設定します。 |
ParameterName |
OleDbParameter の名前を取得または設定します。 |
Precision |
Value プロパティを表すために使用される最大桁数を取得または設定します。 |
Scale |
Value が解決される、小数点以下の桁数を取得または設定します。 |
Size |
列内のデータの最大サイズ (バイト) を取得または設定します。 |
SourceColumn | |
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() |
この OleDbParameter に関連付けられている型をリセットします。 |
ResetOleDbType() |
この OleDbParameter に関連付けられている型をリセットします。 |
ToString() |
ParameterName を表す文字列を取得します。 |
明示的なインターフェイスの実装
ICloneable.Clone() |
このメンバーの詳細については、「Clone()」をご覧ください。 |
IDbDataParameter.Precision |
数値パラメーターの精度を示します。 (継承元 DbParameter) |
IDbDataParameter.Scale |
このメンバーの詳細については、「Scale」をご覧ください。 (継承元 DbParameter) |
適用対象
こちらもご覧ください
.NET