Proficy Historian Client Access API
Proficy.Historian.ClientAccess.API Namespace / IData Interface / Query Method
Query details.
Query results.
Receives individual query errors.
Example


Query Method (IData)
Retrieve tag data from a Historian server matching the supplied data criteria.

For large servers clients can optionally rely on large message sizes or result-paging or a combination of both to retrieve large numbers of data samples. Maximum message size is straight-forward and controlled by ConnectionProperties.MaxReceivedMessageSize - it must be matched on both client and server.

Result-paging enables large result sets to be retrieved across multiple server requests with timing and size controlled by the client. The number of results retrieved per request is controlled via the query's PageSize property. To utilize result-paging, specify a non-zero PageSize and continue calling the same query while the return code is true to retrieve all results from a server. To protect the server and limit excessive server-memory utilization initiating a second query without first retrieving all results for a first query generates a fault.

Syntax
Function Query( _
   ByRef query As DataQueryParams, _
   ByRef dataset As DataSet, _
   ByRef errors As ItemErrors _
) As System.Boolean

Parameters

query
Query details.
dataset
Query results.
errors
Receives individual query errors.

Return Value

Whether additional results remain available on server.
Example
DataQueryParams query = new RawByTimeQuery(DateTime.Now.AddDays(-1), "Tag00001", "Tag00002", "Tag00003");
ItemErrors errors;
DataSet set = new DataSet(), temp = null;
              
// simple query
connection.IData.Query(ref query, out set, out errors);
              
// paged query
set = new DataSet();
query.PageSize = 100; // return at most 100 results per request
while (connection.IData.Query(ref query, out temp, out errors))
  set.AddRange(temp);
set.AddRange(temp);
Requirements

Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

See Also