Querying with the DataReader
The CData ADO.NET Provider for NetSuite implements two ADO.NET interfaces you can use to retrieve data from NetSuite: NetSuiteDataAdapter and NetSuiteDataReader objects. Whereas NetSuiteDataAdapter objects retrieve a single result set of all the data that matches a query, NetSuiteDataReader objects fetch data in subset increments as needed.
Using the NetSuiteDataReader
The NetSuiteDataReader retrieves data faster than the NetSuiteDataAdapter because it can retrieve data in pages. As you read data from the NetSuiteDataReader, 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 Account table:
C#
string connectionString = "AccountId=XABC123456;Schema=SuiteTalk;AuthScheme=Token;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;OAuthAccessToken=MyOAuthAccessToken;OAuthAccessTokenSecret=MyOAuthAccessTokenSecret;"; using (NetSuiteConnection connection = new NetSuiteConnection(connectionString)) { NetSuiteCommand cmd = new NetSuiteCommand("SELECT * FROM Account", connection); NetSuiteDataReader rdr = cmd.ExecuteReader(); while (rdr.Read()) { Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["InternalId"], rdr["AcctName"])); } }
VB.NET
Dim connectionString As String = "AccountId=XABC123456;Schema=SuiteTalk;AuthScheme=Token;OAuthClientId=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;OAuthAccessToken=MyOAuthAccessToken;OAuthAccessTokenSecret=MyOAuthAccessTokenSecret;" Using connection As New NetSuiteConnection(connectionString) Dim cmd As New NetSuiteCommand("SELECT * FROM Account", connection) Dim rdr As NetSuiteDataReader = cmd.ExecuteReader() While rdr.Read() Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("InternalId"), rdr("AcctName"))) End While End Using