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 建立 並設定 SelectCommandInsertCommand 屬性。 假設您已經建立 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之的參考。

在更新作業期間,如果未 InsertCommand 設定 ,而且主鍵資訊存在於 DataSet中,您可以使用 OracleCommandBuilder 類別自動產生 InsertCommand,以及將 協調 DataSet 至資料庫所需的其他命令。 若要這樣做,請設定 SelectCommandOracleDataAdapter屬性。 產生邏輯也需要在 中 DataSet出現索引鍵數據行資訊。 如需詳細資訊,請參閱 使用 CommandBuilders 產生命令

注意

如果執行此指令會傳回資料列,則視您設定 UpdatedRowSource 物件的屬性OracleCommand而定,這些資料列可能會新增至 DataSet

當您使用 LONG RAW 數據類型更新數據行時,當您在數據行中輸入的值 NULL 時,就會擲回例外狀況。 Oracle LONG RAW 數據類型是 Oracle 8.0 版中已被取代的類型。 若要避免此錯誤,請使用 BLOB 資料類型,而不是 LONG RAW

適用於

另請參閱