Connect to QuickBooks Data from PowerBuilder



The CData ADO.NET providers are easy-to-use, standards-based controls that can be used from any platform or development technology that supports Microsoft .NET, including Sybase PowerBuilder. This article shows how to use the CData ADO.NET Provider for QuickBooks in PowerBuilder.

This article shows how to use the CData ADO.NET Provider for QuickBooks to create a basic PowerBuilder application that performs CRUD operations (create, read, update, and delete).

  1. In a new WPF Window Application solution, add all the Visual Controls needed for the connection properties. Typical connection string properties are the following:
    • User
    • Password
    • AccessToken
  2. Add the DataGrid control from the .NET controls.
  3. Configure the columns of the DataGrid control. Below are several columns from the Account table:
    <DataGrid AutoGenerateColumns="False" Margin="13,249,12,14" Name="datagrid1" TabIndex="70" ItemsSource="{Binding}">
      <DataGrid.Columns>
        <DataGridTextColumn x:Name="idColumn" Binding="{Binding Path=Id}" Header="Id" Width="SizeToHeader" />
        <DataGridTextColumn x:Name="nameColumn" Binding="{Binding Path=Name}" Header="Name" Width="SizeToHeader" />
        ...
      </DataGrid.Columns>
    </DataGrid>

Connect the DataGrid

Once the visual elements have been configured, you can use standard ADO.NET objects like Connection, Command, and DataAdapter to populate a DataTable with the results of an SQL query:

System.Data.CData.QuickBooks.QuickBooksConnection conn 
conn = create System.Data.CData.QuickBooks.QuickBooksConnection(connectionString)

System.Data.CData.QuickBooks.QuickBooksCommand comm 
comm = create System.Data.CData.QuickBooks.QuickBooksCommand(command, conn)

System.Data.DataTable table
table = create System.Data.DataTable

System.Data.CData.QuickBooks.QuickBooksDataAdapter dataAdapter
dataAdapter = create System.Data.CData.QuickBooks.QuickBooksDataAdapter(comm)
dataAdapter.Fill(table)	
datagrid1.ItemsSource=table.DefaultView

The code above can be used to bind data from the specified query to the DataGrid.