OracleDataAdapter.UpdateCommand プロパティ

定義

データベース内のレコードを更新するための SQL ステートメントまたはストアド プロシージャを取得または設定します。

public:
 property System::Data::OracleClient::OracleCommand ^ UpdateCommand { System::Data::OracleClient::OracleCommand ^ get(); void set(System::Data::OracleClient::OracleCommand ^ value); };
public System.Data.OracleClient.OracleCommand UpdateCommand { get; set; }
member this.UpdateCommand : System.Data.OracleClient.OracleCommand with get, set
Public Property UpdateCommand As OracleCommand

プロパティ値

更新操作で OracleCommand 内の変更行に対応するデータベース内のレコードを更新するための DataSet

次の例では、 をOracleDataAdapter作成し、 プロパティと UpdateCommand プロパティをSelectCommand設定します。 オブジェクトが既に作成 OracleConnection されていることを前提としています。

Public Shared Function CreateCustomerAdapter(conn As OracleConnection) As OracleDataAdapter   

  Dim da As OracleDataAdapter = New OracleDataAdapter()  
  Dim cmd As OracleCommand  
  Dim parm As OracleParameter  

  ' Create the SelectCommand.  

  cmd = New OracleCommand("SELECT * FROM Dept " & _  
                       "WHERE DName = pDName AND Loc = pLoc", conn)  

  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14)  
  cmd.Parameters.Add("pLoc", OracleType.NVarChar, 13)  

  da.SelectCommand = cmd  

  ' Create the UpdateCommand.  

  cmd = New OracleCommand("UPDATE Dept SET DeptNo = pDeptNo, DName = pDName " & _  
                       "WHERE DeptNo = poldDeptNo", conn)  

  cmd.Parameters.Add("pDeptNo", OracleType.Number, 2, "DeptNo")  
  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14, "DName")  

  parm = cmd.Parameters.Add("poldDeptNo", OracleType.Number, 2, "DeptNo")  
  parm.SourceVersion = DataRowVersion.Original  

  da.UpdateCommand = cmd  

  Return da  
End Function  
public static OracleDataAdapter CreateCustomerAdapter(OracleConnection conn)  
{  
  OracleDataAdapter da = new OracleDataAdapter();  
  OracleCommand cmd;  
  OracleParameter parm;  

  // Create the SelectCommand.  

  cmd = new OracleCommand("SELECT * FROM Dept " +  
                       "WHERE DName = pDName AND Loc = pLoc", conn);  

  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14);  
  cmd.Parameters.Add("pLoc", OracleType.NVarChar, 13);  

  da.SelectCommand = cmd;  

  // Create the UpdateCommand.  

  cmd = new OracleCommand("UPDATE Dept SET DeptNo = pDeptNo, DName = pDName " +  
                       "WHERE DeptNo = poldDeptNo", conn);  

  cmd.Parameters.Add("pDeptNo", OracleType.Number, 2, "DeptNo");  
  cmd.Parameters.Add("pDName", OracleType.NVarChar, 14, "DName");  

  parm = cmd.Parameters.Add("poldDeptNo", OracleType.Number, 2, "DeptNo");  
  parm.SourceVersion = DataRowVersion.Original;  

  da.UpdateCommand = cmd;  

  return da;  
}  

注釈

が以前に作成OracleCommandされた に割り当てられている場合UpdateCommandOracleCommand は複製されません。 代わりに、 は UpdateCommand 、前に作成 OracleCommand したオブジェクトへの参照を保持します。

更新操作中に が設定されておらず、主キー情報が DataSet に存在する場合InsertCommandは、 クラスをOracleCommandBuilder使用して、 を自動的に生成InsertCommandし、 をデータベースに調整DataSetするために必要な追加のコマンドを使用できます。 これを行うには、 の プロパティを SelectCommand 設定します OracleDataAdapter。 生成ロジックでは、 にキー列情報が存在 DataSetする必要もあります。 詳細については、「 CommandBuilders を使用したコマンドの生成」を参照してください。

注意

このコマンドを実行すると行が返されるDataSet場合、オブジェクトの プロパティを設定する方法に応じて、これらの行が とOracleCommandUpdatedRowSourceマージされる可能性があります。

データ型で列を更新すると、列に LONG RAWNULL 値を入力すると例外がスローされます。 Oracle LONG RAW データ型は、Oracle バージョン 8.0 では非推奨の型です。 このエラーを回避するには、 の代わりに LONG RAWデータ型をBLOB使用します。

適用対象

こちらもご覧ください