次の方法で共有


OracleDataAdapter.InsertCommand プロパティ

定義

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

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

プロパティ値

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

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

Public Shared Function CreateCustomerAdapter(conn As OracleConnection) As OracleDataAdapter   

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

  ' 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 InsertCommand.  

  cmd = New OracleCommand("INSERT INTO Dept (DeptNo, DName) " & _  
                       "VALUES (:pDeptNo, :pDName)", conn)  

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

  da.InsertCommand = cmd  

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

  // 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 InsertCommand.  

  cmd = new OracleCommand("INSERT INTO Dept (DeptNo, DName) " +  
                       "VALUES (:pDeptNo, :pDName)", conn);  

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

  da.InsertCommand = cmd;  

  return da;  
}  

注釈

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

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

注意

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

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

適用対象

こちらもご覧ください