dotConnect for Oracle Documentation
OracleDataAdapter Class
Members  Example  See Also
Devart.Data.Oracle Namespace : OracleDataAdapter Class

Represents a set of data commands and a data source connection that are used to fill the System.Data.DataSet and update an Oracle data.

Inheritance Hierarchy



Visual Basic (Declaration) 
Public Class OracleDataAdapter 
   Inherits Devart.Common.DbDataAdapter
   Implements IComponentIDataAdapterIDbDataAdapterICloneableIDisposable 


The OracleDataAdapter serves as a bridge between a System.Data.DataSet and a data source for retrieving and saving data. The OracleDataAdapter provides this bridge by using System.Data.Common.DbDataAdapter.Fill to load data from the data source into the System.Data.DataSet, and using System.Data.DataSet.Update() to send changes made in the System.Data.DataSet back to the data source.

OracleDataAdapter is used in conjunction with OracleConnection and OracleCommand to increase performance when connecting to Oracle.

The OracleDataAdapter also includes the OracleDataAdapter.SelectCommand, OracleDataAdapter.InsertCommand, OracleDataAdapter.DeleteCommand, OracleDataAdapter.UpdateCommand, and TableMappings properties to facilitate loading and updating of data.

Note: This class is not available in .NET Standard 1.3 compatible assembly. It is available only in the assembly for full .NET Framework and .NET Standard 2.0 compatible assembly.


The following example demonstrates how to retrieve and manipulate data using OracleDataAdapter.
C#csharpCopy Code
public void UseDataAdapter(OracleConnection myConnection)
  OracleDataAdapter myAdapter = new OracleDataAdapter("SELECT DeptNo, DName FROM Test.Dept", myConnection);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  object[] rowVals = new object[2];
  rowVals[0] = 40;
  rowVals[1] = "Operations";
  myAdapter.InsertCommand = new OracleCommand("INSERT INTO Test.Dept (DeptNo, DName) " +
    "VALUES (:DeptNo, :DName)", myConnection);
  myAdapter.InsertCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo");
  myAdapter.InsertCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName");
  //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)
C#Visual BasicCopy Code
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")
  Dim rowVals(1) As Object
  rowVals(0) = "40"
  rowVals(1) = "Operations"
  myAdapter.InsertCommand = New OracleCommand("INSERT INTO Test.Dept (DeptNo, DName) " & _
      "VALUES (:DeptNo, :DName)", myConnection)
  myAdapter.InsertCommand.Parameters.Add("DeptNo", OracleDbType.Integer, 0, "DeptNo")
  myAdapter.InsertCommand.Parameters.Add("DName", OracleDbType.VarChar, 15, "DName")
  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
    Next myRow
  Next myTable
End Sub


Namespace: Devart.Data.Oracle

Platforms:Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family, Windows Vista, Windows Server 2008 family, Windows 7, Windows 8, Windows 10, Windows Server 2012 family.

See Also