dotConnect for Zoho Desk Documentation
Devart.Data.ZohoDesk Namespace / ZohoDeskCommandBuilder Class
Members Example

ZohoDeskCommandBuilder Class
Automatically generates single-table commands used to reconcile changes made to a System.Data.DataSet with the Zoho Desk.
Syntax
'Declaration
 
Public Class ZohoDeskCommandBuilder 
   Inherits Devart.Data.SqlShimCommandBuilder
   Implements System.ComponentModel.IComponentSystem.IDisposable 
 
Remarks

The ZohoDeskDataAdapter does not automatically generate the SQL statements required to reconcile changes made to a System.Data.DataSet associated with Zoho Desk. However, you can create a ZohoDeskCommandBuilder object that generates SQL statements for single-table updates. After assigning the ZohoDeskDataAdapter to the ZohoDeskCommandBuilder, it begins to generate any additional SQL statements that you do not set.

The relationship between a ZohoDeskDataAdapter and its corresponding ZohoDeskCommandBuilder is always one-to-one. To create this correspondence, you set the DataAdapter property of the ZohoDeskCommandBuilder object. This causes the ZohoDeskCommandBuilder to register itself as a listener, which produces the output of ZohoDeskDataAdapter.RowUpdating events that affect the System.Data.DataSet.

To generate INSERT, UPDATE, or DELETE statements, the ZohoDeskCommandBuilder uses the ZohoDeskDataAdapter.SelectCommand property to retrieve a required set of metadata. If you change the value of ZohoDeskDataAdapter.SelectCommand after the metadata has been retrieved (for example, after the first update), you then should call the Devart.Common.DbCommandBuilderBase.RefreshSchema method to update the metadata.

The ZohoDeskCommandBuilder also uses the Connection, CommandTimeout, and System.Data.Common.DbCommand.Transaction properties referenced by the ZohoDeskDataAdapter.SelectCommand. The user should call Devart.Common.DbCommandBuilderBase.RefreshSchema if any of these properties are modified, or value of the ZohoDeskDataAdapter.SelectCommand property itself is changed. Otherwise the ZohoDeskDataAdapter.InsertCommand, ZohoDeskDataAdapter.UpdateCommand, and ZohoDeskDataAdapter.DeleteCommand properties retain their previous values.

If you assign null to corresponding property of ZohoDeskDataAdapter, the ZohoDeskCommandBuilder will be disassociated from the ZohoDeskDataAdapter, and the generated commands will no longer be used.

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 uses ZohoDeskCommand, along with ZohoDeskDataAdapter and ZohoDeskConnection, to select rows from Zoho Desk. The example is passed an initialized System.Data.DataSet, a connection string, a query string that is SQL SELECT statement, and a string that is the name of the Zoho Desk table. The example then creates a ZohoDeskCommandBuilder.
public DataSet SelectZohoDeskSrvRows(DataSet myDataSet,string ZohoDeskConnection,string mySelectQuery,string myTableName)
{
  ZohoDeskConnection myConn = new ZohoDeskConnection(ZohoDeskConnection);
  ZohoDeskDataAdapter myDataAdapter = new ZohoDeskDataAdapter();
  myDataAdapter.SelectCommand = new ZohoDeskCommand(mySelectQuery, myConn);
  ZohoDeskCommandBuilder ZohoDeskCommandBuilder = new ZohoDeskCommandBuilder(myDataAdapter);

  myConn.Open();

  DataSet myDataSet = new DataSet();
  myDataAdapter.Fill(myDataSet, "Departments");

  //code to modify data in dataset here

  //Without the ZohoDeskCommandBuilder this line would fail
  myDataAdapter.Update(myDataSet, "Departments");

  myConn.Close();

  return myDataSet;
}
Public Function SelectZohoDeskSrvRows(myDataSet As DataSet, ZohoDeskConnection As String, mySelectQuery As String, myTableName As String) As DataSet
  Dim myConn As New ZohoDeskConnection(ZohoDeskConnection)
  Dim myDataAdapter As New ZohoDeskDataAdapter()
  myDataAdapter.SelectCommand = New ZohoDeskCommand(mySelectQuery, myConn)
  Dim ZohoDeskCommandBuilder As ZohoDeskCommandBuilder = New ZohoDeskCommandBuilder(myDataAdapter)

  myConn.Open()

  Dim myDataSet As DataSet = New DataSet
  myDataAdapter.Fill(myDataSet, "Departments")

  ' Code to modify data in DataSet here

  ' Without the ZohoDeskCommandBuilder this line would fail.
  myDataAdapter.Update(myDataSet, "Departments")

  myConn.Close()

  SelectZohoDeskSrvRows = myDataSet
End Function
Inheritance Hierarchy

System.Object
   System.MarshalByRefObject
      System.ComponentModel.Component
         System.Data.Common.DbCommandBuilder
            Devart.Common.DbCommandBuilderBase
               Devart.Common.DbCommandBuilder
                  Devart.Data.SqlShimCommandBuilder
                     Devart.Data.ZohoDesk.ZohoDeskCommandBuilder

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