dotConnect for PostgreSQL Documentation
Devart.Data.PostgreSql Namespace / PgSqlDataAdapter Class
Members Example

PgSqlDataAdapter Class
Represents a set of data commands and a data source connection that are used to fill the System.Data.DataSet and update a PostgreSQL data.
Syntax
Remarks
The PgSqlDataAdapter serves as a bridge between a System.Data.DataSet and a data source for retrieving and saving data. The PgSqlDataAdapter 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.

PgSqlDataAdapter is used in conjunction with PgSqlConnection and PgSqlCommand to increase performance when connecting to PostgreSQL.

The PgSqlDataAdapter also includes the SelectCommand, InsertCommand, DeleteCommand, UpdateCommand, and Devart.Data.SqlShimDataAdapter.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.

Example
The following example demonstrates how to retrieve and manipulate data using PgSqlDataAdapter.
public void UseDataAdapter(PgSqlConnection pgConnection)
{
  PgSqlDataAdapter myAdapter = new PgSqlDataAdapter("SELECT DeptNo, DName FROM Test.Dept", pgConnection);
  myAdapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
  DataSet myDataSet = new DataSet();
  myAdapter.Fill(myDataSet,"Departments");
  object[] rowVals = new object[2];
  rowVals[0] = 40;
  rowVals[1] = "Operations";
  myDataSet.Tables["Departments"].Rows.Add(rowVals);
  myAdapter.InsertCommand = new PgSqlCommand("INSERT INTO Test.Dept (DeptNo, DName) " +
    "VALUES (:DeptNo, :DName)", pgConnection);
  myAdapter.InsertCommand.Parameters.Add("DeptNo", PgSqlType.Int, 0, "DeptNo");
  myAdapter.InsertCommand.Parameters.Add("DName", PgSqlType.VarChar, 15, "DName");
  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 pgConnection As PgSqlConnection)
  Dim myAdapter As PgSqlDataAdapter = New PgSqlDataAdapter("SELECT DeptNo, DName FROM Test.Dept", pgConnection)
  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"
  myDataSet.Tables("Departments").Rows.Add(rowVals)
  myAdapter.InsertCommand = New PgSqlCommand("INSERT INTO Test.Dept (DeptNo, DName) " & _
      "VALUES (:DeptNo, :DName)", pgConnection)
  myAdapter.InsertCommand.Parameters.Add("DeptNo", PgSqlType.Int, 0, "DeptNo")
  myAdapter.InsertCommand.Parameters.Add("DName", PgSqlType.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
      Console.WriteLine()
    Next myRow
    Console.WriteLine()
  Next myTable
End Sub
Inheritance Hierarchy

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Data.Common.DataAdapter
            System.Data.Common.DbDataAdapter
               Devart.Common.DbDataAdapter
                  Devart.Data.PostgreSql.PgSqlDataAdapter

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