We're glad to announce the new version of Active Query Builder .NET Edition. You can download the newest version or request the trial at the download page.
What's new in the Active Query Builder .NET Edition version 1.16?
Ability to show query by parts and to modify sub-query text apart from the main query:
The new property PlainTextSQLBuilder.TargetQueryPart is added. It allows you to generate the SQL query text not for the whole query, but for active part of the query only. Possible values are the following:
Query (default): generate SQL text for the whole query;
SubQuery: generate text for the currently active sub-query tab;
UnionSubQuery: generate text for the currently active union sub-query.
PlainTextSQLBuilder.SQL property become writable to apply changes in the currently active query part to the query builder.
The new QueryBuilder.FilterTabsByActiveQueryPart property is added. It allows to hide the tabs that do not belong to the currently active query part. Possible values are the same as for the PlainTextSQLBuilder.TargetQueryPart.
The new source code sample "Show Query By Parts" is added to demonstrate the new features.
User interface and behavior changes:
The check box is added to the Grouping column header. It allows to quckly toggle the grouping for the query on and off.
Default value of "Criteria for" for non-aggregated query columns is changed "For groups" (HAVING) to "For values" (WHERE).
Improved support of ORDER BY in queries with unions.
Parsing and working with large queries is speeded up.
Metadata loading is speeded up, memory usage is optimized.
Other improvements:
Ability to add custom columns to the Query Columns List control is added. Please review the new "CustomColumnsDemo" sample for details.
Tooltips are shown for fields in the DataSourceControl and objects in the MetadataTree. By default they show descriptions loaded from database server You can customize tooltip text using new events GetDiagramObjectToolTipText and GetMetadataTreeToolTipText.
MS SQL Server: Support of table and query hints is added; join hints are parsed fine now, but not preserved due to architecture limitations.
DB2: The new DB2SyntaxProvider.NamingConvention property is added that affects the object name separator (slash or dot).
API improvements:
Query Statistics: The new property CriteriaItem is added to StatisticsOutputColumn object. Now you may get the reference to the column options (sorting, filtering, etc.) by the column name (searching it in the StatisticsOutputColumn.ColumnName).
The new GetProcedureParameters event is added to allow specifying procedure parameters with custom UI dialog or programmatically.
The new methods are added to ease the query analysis and modifcation: QueryBuilder.GetSubQueryList(), QueryBuilder.GetUnionSubQueryList(), UnionGroup.GetUnionSubQueryList().
The new GetDiagramObjectWidth event is added to allow dynamic computing of diagram object width depending on its content.
The new RefreshDatasourcesMetadata() method is added. Use it to update bindings between query and metadata objects. Might be useful if you modified or reloaded metadata while a query is loaded in the query builder.
The new UnionSubQuery.ConvertDatasourceToDerivedTable() method is added.
UnionSubQuery class is updated: Clear() method is added; SQL property { get; set } is added.
All properties that might be related to localization have been marked with the [Localizable(true)] attribute.
We have been using Active Query Builder for over a year and must say that both the product and support have been outstanding!
We chose Active Query Builder due to its flexibility and features, but have been truly pleased by its power and hidden capabilities. ...
In summary Active Query Builder provides excellent components, great support and a very flexible feature set. It has allowed us to provide features to our end users that I did not think would be possible in the first release of our new tools and in a timeframe that was much shorter than planned. I would recommend that anyone dealing with databases in the .Net world should be aware of this component and its capabilities!