ADO.NET Provider for SAP ERP

Build 24.0.9060

Querying with the DataReader

The CData ADO.NET Provider for SAP ERP implements two ADO.NET interfaces you can use to retrieve data from SAP ERP: SAPERPDataAdapter and SAPERPDataReader objects. Whereas SAPERPDataAdapter objects retrieve a single result set of all the data that matches a query, SAPERPDataReader objects fetch data in subset increments as needed.

Using the SAPERPDataReader

The SAPERPDataReader retrieves data faster than the SAPERPDataAdapter because it can retrieve data in pages. As you read data from the SAPERPDataReader, 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 MARA table:

C#

string connectionString = "Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;";

using (SAPERPConnection connection = new SAPERPConnection(connectionString)) {
  SAPERPCommand cmd = new SAPERPCommand("SELECT * FROM MARA", connection);
  
  SAPERPDataReader rdr = cmd.ExecuteReader();

  while (rdr.Read()) {
    Console.WriteLine(String.Format("\t{0} --> \t\t{1}", rdr["MANDT"], rdr["MATNR"]));
  }
}

VB.NET

Dim connectionString As String = "Host=sap.mydomain.com;User=EXT90033;Password=xxx;Client=800;System Number=09;ConnectionType=Classic;"

Using connection As New SAPERPConnection(connectionString)
  Dim cmd As New SAPERPCommand("SELECT * FROM MARA", connection)

  Dim rdr As SAPERPDataReader = cmd.ExecuteReader()

  While rdr.Read()
    Console.WriteLine([String].Format(vbTab & "{0} --> " & vbTab & vbTab & "{1}", rdr("MANDT"), rdr("MATNR")))
  End While
End Using

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060