GenerateWherePaginationStatement Method

Summary

Generates a SQL WHERE statement (using the given matching parameters) that returns groups of records that can be used for pagination.

Syntax
C#
VB
C++
public static string GenerateWherePaginationStatement( 
   Collection<CatalogElement[]> matchingParams, 
   string tableName, 
   string keyField, 
   string orderByField, 
   QueryPageInfo queryPageInfo, 
   string originalTableQuery 
) 
  
Public Shared Function GenerateWherePaginationStatement( _ 
   ByVal matchingParams As Collection(Of CatalogElement()), _ 
   ByVal tableName As String, _ 
   ByVal keyField As String, _ 
   ByVal orderByField As String, _ 
   ByVal queryPageInfo As QueryPageInfo, _ 
   ByVal originalTableQuery As String _ 
) As String 
public: 
static String^ GenerateWherePaginationStatement(  
   Collection<array<CatalogElement^>>^ matchingParams, 
   String^ tableName, 
   String^ keyField, 
   String^ orderByField, 
   QueryPageInfo^ queryPageInfo, 
   String^ originalTableQuery 
)  

Parameters

matchingParams
A collection of Leadtools.Medical.DataAccessLayer.Catalog.CatalogElement arrays to generate the SQL WHERE statement from.

tableName
The name of the System.Data.DataTable which will be queried in the database.

keyField
The primary key field of the tableName.

orderByField
A field of the tableName that the results will be ordered by.

queryPageInfo
Specifies the page number and the size of the page of the query result.

originalTableQuery
An SQL statement that is the FROM clause of the original query (the a non-pagination version of the query)

Return Value

A SQL WHERE statement using the given matching parameters.

Remarks

The returned SQL statement is not guaranteed to work with all database engines. However, the statement can be used with ] Microsoft SQL Server engines.

The method works by combining all of the Leadtools.Medical.DataAccessLayer.Catalog.CatalogElement in each array with an AND operator and inserting an OR operator between each Leadtools.Medical.DataAccessLayer.Catalog.CatalogElement array.

The method will use the Leadtools.Medical.DataAccessLayer.Catalog.CatalogElement.EntityName property as the SQL table name and the Leadtools.Medical.DataAccessLayer.Catalog.CatalogElement.ElementName property as the SQL column name for the SQL statement.

For date-time matching, this method can handle the System.DateTime, Leadtools.Dicom.DicomDateRangeValue, Leadtools.Dicom.DicomTimeRangeValue and Leadtools.Dicom.Common.DataTypes.DateRange data types.

Any other value will be converted to a string where wild card/single character matching could be performed using the MatchAllCharacters and MatchOneCharacter methods.

If the string value contains the MatchingValueSeparator value, the values will be separated with an OR operator.

You can override the default using the WhereStatementGenerator property.

Requirements

Target Platforms

Help Version 20.0.2020.5.27
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Medical.DataAccessLayer Assembly