Leadtools.Medical.DataAccessLayer Namespace > SqlProviderUtilities Class : GenerateWhereStatement Method |
public static string GenerateWhereStatement( Collection<CatalogElement[]> matchingParams )
'Declaration Public Shared Function GenerateWhereStatement( _ ByVal matchingParams As Collection(Of CatalogElement()) _ ) As String
'Usage Dim matchingParams As Collection(Of CatalogElement()) Dim value As String value = SqlProviderUtilities.GenerateWhereStatement(matchingParams)
public: static String^ GenerateWhereStatement( Collection<array<CatalogElement^>>^ matchingParams )
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.