dotConnect for Google BigQuery Documentation
Devart.Data.BigQuery Namespace / BigQueryDataAdapter Class
Members Example

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

    BigQueryDataAdapter is used in conjunction with BigQueryConnection and BigQueryCommand to increase performance when connecting to Google BigQuery.

    The BigQueryDataAdapter also includes the SelectCommand, InsertCommand, DeleteCommand, UpdateCommand, and Devart.Data.SqlShimDataAdapter.TableMappings properties to facilitate loading and updating of data.

    Example
    The following example demonstrates how to retrieve and manipulate data using BigQueryDataAdapter.
    public void UseDataAdapter(BigQueryConnection bigQueryConnection)
    {
      BigQueryDataAdapter myAdapter = new BigQueryDataAdapter("SELECT DeptNo, DName FROM Dept", bigQueryConnection);
      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 BigQueryCommand("INSERT INTO Dept (DeptNo, DName) " +
        "VALUES (:DeptNo, :DName)", bigQueryConnection);
      myAdapter.InsertCommand.Parameters.Add("DeptNo", BigQueryType.Int, 0, "DeptNo");
      myAdapter.InsertCommand.Parameters.Add("DName", BigQueryType.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 bigQueryConnection As BigQueryConnection)
      Dim myAdapter As BigQueryDataAdapter = New BigQueryDataAdapter("SELECT DeptNo, DName FROM Dept", bigQueryConnection)
      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 BigQueryCommand("INSERT INTO Dept (DeptNo, DName) " & _
          "VALUES (:DeptNo, :DName)", bigQueryConnection)
      myAdapter.InsertCommand.Parameters.Add("DeptNo", BigQueryType.Int, 0, "DeptNo")
      myAdapter.InsertCommand.Parameters.Add("DName", BigQueryType.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.SqlShimDataAdapter
                         Devart.Data.BigQuery.BigQueryDataAdapter

    See Also