OracleDataAdapter.UpdateCommand Proprietà

Definizione

Ottiene o imposta un'istruzione SQL o una stored procedure utilizzata per aggiornare record nel database.

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

Valore della proprietà

Oggetto OracleCommand utilizzato durante un'operazione di aggiornamento per aggiornare i record nel database che corrispondono alle righe modificate nell'oggetto DataSet.

Esempio

Nell'esempio seguente viene creato un oggetto OracleDataAdapter e vengono impostate le SelectCommand proprietà e UpdateCommand . Presuppone che sia già stato creato un OracleConnection oggetto.

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;  
}  

Commenti

Quando UpdateCommand viene assegnato a un oggetto creato OracleCommandin precedenza, l'oggetto OracleCommand non viene clonato. Mantiene invece UpdateCommand un riferimento all'oggetto creato OracleCommand in precedenza.

Durante un'operazione di aggiornamento, se InsertCommand non sono impostate e le informazioni sulla chiave primaria sono presenti nel DataSet, è possibile usare la OracleCommandBuilder classe per generare InsertCommandautomaticamente e comandi aggiuntivi necessari per riconciliare il DataSet database. A tale scopo, impostare la SelectCommand proprietà dell'oggetto OracleDataAdapter. La logica di generazione richiede inoltre che le informazioni sulla colonna chiave siano presenti in DataSet. Per altre informazioni, vedere Generazione di comandi con CommandBuilders.

Nota

Se l'esecuzione di questo comando restituisce righe, queste righe possono essere unite a DataSet seconda della modalità di impostazione UpdatedRowSource della proprietà dell'oggetto OracleCommand .

Quando si aggiorna una colonna con il LONG RAW tipo di dati, viene generata un'eccezione quando si immette un valore di NULL nella colonna. Il tipo di dati Oracle LONG RAW è un tipo deprecato in Oracle versione 8.0. Per evitare questo errore, usare il BLOB tipo di LONG RAWdati anziché .

Si applica a

Vedi anche