posts - 88 , comments - 3 , trackbacks - 0

Connect to QuickBooks Data from PowerBuilder using CData ADO.NET Data Provider

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

Print | posted on Monday, July 9, 2012 4:06 AM | Filed Under [ .net quickbooks cdata powerbuilder ]

Feedback

Gravatar

# re: Connect to QuickBooks from PowerBuilder using RSSBus ADO.NET Data Provider

This solves a tiny part of the problem. Surely the big part is knowing what tables contain what data, how to interpret that, and (if you are going to do any updating) how to do so safely, so as not to break QuickBooks' referential integrity?

Doesn't QuickBooks have an API, that it would make much more sense to use, because it is fully documented etc.?
7/15/2012 9:23 AM | Dan Cooperstock
Gravatar

# re: Connect to QuickBooks from PowerBuilder using RSSBus ADO.NET Data Provider

The Data Provider uses the QuickBooks SDK internally so there are really no problems with data corruption etc. Also, since the data provider is ADO.NET it is easy to use any .NET database explorer (including visual studio) to explore the tables, views, and sprocs etc.

Yes, you could use the QuickBooks SDK to accomplish some of the same things... Or, you can accomplish in one line of code with the RSSBus ADO.NET provider what would take you 100, 200, or more lines of code with the QuickBooksSDK.
7/16/2012 1:37 AM | Eric
Post A Comment
Title:
Name:
Email:
Comment:
Verification:
 

Powered by: