dotConnect for Oracle Documentation
Devart.Data.Oracle Namespace / OracleDataAdapter Class / UpdateCommand Property
Example

UpdateCommand Property (OracleDataAdapter)
Gets or sets an Oracle statement used to update records in the data source.
Syntax
'Declaration
 
Public Shadows Property UpdateCommand As OracleCommand
 

Property Value

A OracleCommand used during an update operation to update records in the data source that correspond to modified rows in the System.Data.DataSet.
Remarks
During an update operation, if UpdateCommand is not set and primary key information is present in the System.Data.DataSet, you can use the OracleCommandBuilder class to automatically generate UpdateCommand, and additional commands needed to reconcile the System.Data.DataSet to the data source. To do this, set the SelectCommand property of the OracleDataAdapter. For more information see "Automatically Generated Commands" in the Microsoft .NET Framework SDK documentation.

Note: If execution of this command returns rows, these rows may be merged with the System.Data.DataSet depending upon how you set the Devart.Common.DbCommandBase.UpdatedRowSource property of the OracleCommand object.

Example
The following example demonstrates how to retrieve and manipulate data using OracleDataAdapter.
public void UseDataAdapter(OracleConnection myConnection)
{
  OracleDataAdapter myAdapter = new OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  myDataSet.Tables["Departments"].Rows[3]["DName"] = "Researches";
  myAdapter.UpdateCommand = new OracleCommand("UPDATE Test.Dept SET DeptNo = :DeptNo, DName = :DName " +
      "WHERE DeptNo = :oldDeptNo", myConnection);
  myAdapter.UpdateCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo");
  myAdapter.UpdateCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName");
  myAdapter.UpdateCommand.Parameters.Add("oldDeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original;
  myAdapter.Update(myDataSet,"Departments"); 
  //Get all data from all tables within the dataset
  foreach(DataTable myTable in myDataSet.Tables)
  {
    foreach(DataRow myRow in myTable.Rows)
    {
      foreach (DataColumn myColumn in myTable.Columns)
      {
        Console.Write(myRow[myColumn]+"\t");
      }
      Console.WriteLine();
    }
    Console.WriteLine();
  }
}
Public Sub UseDataAdapter(ByVal myConnection As OracleConnection)
  Dim myAdapter As OracleDataAdapter = New OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection)
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey
  Dim myDataSet As DataSet = New DataSet
  myAdapter.Fill(myDataSet, "Departments")
  myDataSet.Tables("Departments").Rows(3)("DName") = "Researches"
  myAdapter.UpdateCommand = New OracleCommand("UPDATE Test.Dept SET DeptNo = :DeptNo, DName = :DName " & _
        "WHERE DeptNo = :oldDeptNo", myConnection)
  myAdapter.UpdateCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo")
  myAdapter.UpdateCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName")
  myAdapter.UpdateCommand.Parameters.Add("oldDeptNo", OracleDbType.Integer, 0, "DeptNo").SourceVersion = DataRowVersion.Original
  myAdapter.Update(myDataSet, "Departments")
  Dim myTable As DataTable
  Dim myRow As DataRow
  Dim myColumn As DataColumn
  ' Get all data from all tables within the dataset
  For Each myTable In myDataSet.Tables
    For Each myRow In myTable.Rows
      For Each myColumn In myTable.Columns
        Console.Write(myRow(myColumn) & Chr(9))
      Next myColumn
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also