OracleCommandBuilder クラス
アセンブリ: System.Data.OracleClient (system.data.oracleclient.dll 内)


OracleDataAdapter では、データベースに関連付けられた DataSet への変更を調整する SQL ステートメントは、自動的に生成されません。ただし、OracleDataAdapter の SelectCommand プロパティを設定して、単一テーブルを更新する SQL ステートメントを自動的に生成する OracleCommandBuilder オブジェクトを作成できます。続いて、OracleCommandBuilder により、未設定の SQL ステートメントが追加で自動生成されます。
OracleDataAdapter とそれに対応する OracleCommandBuilder 間のリレーションシップは、常に 1 対 1 です。この対応を作成するには、OracleCommandBuilder オブジェクトの OracleDataAdapter プロパティを設定します。その結果、OracleCommandBuilder はリスナとして登録され、DataSet を対象とする RowUpdating イベントの出力を生成します。
OracleCommandBuilder では、INSERT、UPDATE、または DELETE ステートメントを生成するために、SelectCommand プロパティを使用して必要なメタデータ セットが取得されます。
また、OracleCommandBuilder では、SelectCommand が参照する Connection プロパティと Transaction プロパティも使用されます。
Dispose を呼び出すと、OracleCommandBuilder と OracleDataAdapter の関連付けが解除され、生成されたコマンドは使用されなくなります。

OracleCommand を OracleDataAdapter および OracleConnection と共に使用して、データベースから行を選択する例を次に示します。この例のコードには、初期化済みの DataSet、接続文字列、クエリ文字列 (SQL SELECT ステートメント)、およびデータベース テーブル名の文字列が渡されます。この例では、続いて、OracleCommandBuilder を作成します。
Private Function SelectOracleRows(connection As String, queryString As String, tableName As String) As DataSet Dim connection As New OracleConnection(connection) Dim dataAdapter As New OracleDataAdapter() Dim dataSet As DataSet = New DataSet dataAdapter.SelectCommand = New OracleCommand(queryString, connection) Dim cmdBuilder As OracleCommandBuilder = New OracleCommandBuilder(dataAdapter) connection.Open() dataAdapter.Fill(dataSet, tableName) ' Code to modify data in DataSet here ' Without the OracleCommandBuilder this line would fail. dataAdapter.Update(dataSet, tableName) connection.Close() End Function
[C#]
public static DataSet SelectOracleSrvRows(string myConnection, string mySelectQuery, string myTableName) { OracleConnection myConn = new OracleConnection(myConnection); OracleDataAdapter myDataAdapter = new OracleDataAdapter(); myDataAdapter.SelectCommand = new OracleCommand(mySelectQuery, myConn); OracleCommandBuilder cb = new OracleCommandBuilder(myDataAdapter); myConn.Open(); DataSet ds = new DataSet(); myDataAdapter.Fill(ds, myTableName); //Code to modify data in DataSet goes here... //Without the OracleCommandBuilder this line would fail. myDataAdapter.Update(ds, myTableName); myConn.Close(); return ds; }

System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommandBuilder
System.Data.OracleClient.OracleCommandBuilder


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からOracleCommandBuilder クラスを検索する場合は、下記のリンクをクリックしてください。

- OracleCommandBuilder クラスのページへのリンク