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.
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
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