Freigeben über


OracleDataAdapter.UpdateCommand Eigenschaft

Definition

Ruft eine SQL-Anweisung oder eine gespeicherte Prozedur ab, um Datensätze in der Datenbank zu aktualisieren, oder legt diese fest.

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

Eigenschaftswert

Ein OracleCommand, mit dem bei einem Aktualisierungsvorgang die Datensätze in der Datenbank aktualisiert werden, die den geänderten Zeilen im DataSet entsprechen.

Beispiele

Im folgenden Beispiel wird ein OracleDataAdapter erstellt und die SelectCommand Eigenschaften und UpdateCommand festgelegt. Es wird davon ausgegangen, dass Sie bereits ein OracleConnection -Objekt erstellt haben.

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

Hinweise

Wenn UpdateCommand einem zuvor erstellten OracleCommandzugewiesen wird, wird der OracleCommand nicht geklont. Stattdessen verwaltet die UpdateCommand einen Verweis auf das zuvor erstellte OracleCommand -Objekt.

Wenn während eines Aktualisierungsvorgangs InsertCommand nicht festgelegt ist und Primärschlüsselinformationen im DataSet vorhanden sind, können Sie die OracleCommandBuilder -Klasse verwenden, um automatisch und zusätzliche Befehle zu generieren InsertCommand, die zum Abgleichen von mit DataSet der Datenbank erforderlich sind. Legen Sie dazu die SelectCommand -Eigenschaft von OracleDataAdapterfest. Die Generierungslogik erfordert auch, dass wichtige Spalteninformationen im DataSetvorhanden sind. Weitere Informationen finden Sie unter Generieren von Befehlen mit CommandBuilders.

Hinweis

Wenn die Ausführung dieses Befehls Zeilen zurückgibt, können diese Zeilen mit dem DataSet zusammengeführt werden, je nachdem, wie Sie die UpdatedRowSource -Eigenschaft des OracleCommand -Objekts festlegen.

Wenn Sie eine Spalte mit dem LONG RAW Datentyp aktualisieren, wird eine Ausnahme ausgelöst, wenn Sie einen Wert von NULL in die Spalte eingeben. Der Oracle-Datentyp LONG RAW ist ein veralteter Typ in Oracle Version 8.0. Um diesen Fehler zu vermeiden, verwenden Sie den BLOB Datentyp anstelle von LONG RAW.

Gilt für:

Weitere Informationen