Connect to Xero Data from PowerBuilder

Ready to get started?

Download for a free trial:

Download Now

Learn more:

Xero ADO.NET Provider

Complete read-write access to Xero accounting enables developers to search (Customers, Transactions, Invoices, Sales Receipts, etc.), update items, edit customers, and more, from any .NET application.



This article demonstrates how to access Xero data from PowerBuilder using the CData ADO.NET Provider for Xero.

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 PowerBuilder. This article shows how to use the CData ADO.NET Provider for Xero in PowerBuilder.

This article shows how to create a basic PowerBuilder application that uses the CData ADO.NET Provider for Xero to perform reads and writes.

  1. In a new WPF Window Application solution, add all the Visual Controls needed for the connection properties.

    To connect, set the Schema connection property in addition to any authentication values. Xero offers authentication for private applications, public applications, and partner applications. You will need to set the XeroAppAuthentication property to PUBLIC, PRIVATE, or PARTNER, depending on the type of application configured. To connect from a private application, you will additionally need to set the OAuthAccessToken, OAuthClientId, OAuthClientSecret, CertificateStoreType, CertificateStore, and CertificateStorePassword.

    To connect from a public or partner application, you can use the embedded OAuthClientId, OAuthClientSecret, and CallbackURL, or you can register an app to obtain your own OAuth values.

    See the "Getting Started" chapter of the help documentation for a guide to authenticating to Xero.

  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. Add a reference to the CData ADO.NET Provider for Xero assembly.

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.Xero.XeroConnection conn conn = create System.Data.CData.Xero.XeroConnection(connectionString) System.Data.CData.Xero.XeroCommand comm comm = create System.Data.CData.Xero.XeroCommand(command, conn) System.Data.DataTable table table = create System.Data.DataTable System.Data.CData.Xero.XeroDataAdapter dataAdapter dataAdapter = create System.Data.CData.Xero.XeroDataAdapter(comm) dataAdapter.Fill(table) datagrid1.ItemsSource=table.DefaultView

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