Querying with the DataReader
The CData ADO.NET Provider for Quickbase implements two ADO.NET interfaces you can use to retrieve data from Quickbase: QuickBaseDataAdapter and QuickBaseDataReader objects. Whereas QuickBaseDataAdapter objects retrieve a single result set of all the data that matches a query, QuickBaseDataReader objects fetch data in subset increments as needed.
Using the QuickBaseDataReader
The QuickBaseDataReader retrieves data faster than the QuickBaseDataAdapter because it can retrieve data in pages. As you read data from the QuickBaseDataReader, it periodically requests the next page of results from the data source, if required. This causes results to be returned at a faster rate. The following example selects all the columns from the [CData].[QuickBase].SampleTable_1 table:
C#
string connectionString = "[email protected];Password=test_1234;Domain=test.quickbase.com;ApplicationToken='bwkxrb5da2wn57bzfh9xn24';"; using (QuickBaseConnection connection = new QuickBaseConnection(connectionString)) { QuickBaseCommand cmd = new QuickBaseCommand("SELECT * FROM [CData].[QuickBase].SampleTable_1", connection); QuickBaseDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["Id"], rdr["Column1"])); } }
VB.NET
Dim connectionString As String = "[email protected];Password=test_1234;Domain=test.quickbase.com;ApplicationToken='bwkxrb5da2wn57bzfh9xn24';" Using connection As New QuickBaseConnection(connectionString) Dim cmd As New QuickBaseCommand("SELECT * FROM [CData].[QuickBase].SampleTable_1", connection) Dim rdr As QuickBaseDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("Id"), rdr("Column1"))) End While End Using