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 建立 並設定 SelectCommandUpdateCommand 屬性。 它假設您已經建立 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 對象的參考。

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

注意

如果執行此命令傳回數據列,這些數據列可能會與 DataSet 合併,視您設定 UpdatedRowSource 對象的屬性 OracleCommand 而定。

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

適用於

另請參閱