Querying with the DataAdapter
The CData ADO.NET Provider for Wave Financial implements two ADO.NET interfaces you can use to retrieve data from Wave Financial: WaveFinancialDataAdapter and WaveFinancialDataReader objects. Whereas WaveFinancialDataAdapter objects retrieve a single result set of all the data that matches a query, WaveFinancialDataReader objects fetch data in subset increments as needed.
Using the WaveFinancialDataAdapter
Use the adapter's Fill method to retrieve data from the data source. An empty DataTable instance is passed as an argument to the Fill method. When the method returns, the DataTable instance is populated with the queried data. Note that the WaveFinancialDataAdapter is slower than the WaveFinancialDataReader because the Fill method needs to retrieve all data from the data source before returning.
The following example selects the Id and DueDate columns of the Invoices table:
C#
string connectionString = "InitiateOAuth=GETANDREFRESH;"; using (WaveFinancialConnection connection = new WaveFinancialConnection(connectionString)) { WaveFinancialDataAdapter dataAdapter = new WaveFinancialDataAdapter( "SELECT Id, DueDate FROM Invoices", connection); DataTable table = new DataTable(); dataAdapter.Fill(table); Console.WriteLine("Contents of Invoices."); foreach (DataRow row in table.Rows) { Console.WriteLine("{0}: {1}", row["Id"], row["DueDate"]); } }
VB.NET
Dim connectionString As String = "InitiateOAuth=GETANDREFRESH;" Using connection As New WaveFinancialConnection(connectionString) Dim dataAdapter As New WaveFinancialDataAdapter("SELECT Id, DueDate FROM Invoices", connection) Dim table As New DataTable() dataAdapter.Fill(table) Console.WriteLine("Contents of Invoices.") For Each row As DataRow In table.Rows Console.WriteLine("{0}: {1}", row("Id"), row("DueDate")) Next End Using