Active Query Builder for .NET 3.3 lets work with reusable queries in an easy way.
We're glad to announce the new minor version of Active Query Builder 3 for .NET WinForms and WPF Editions. You can evaluate the new version by requesting the trial. Customers can download the new version in the Customer's area.
What's new in the Active Query Builder for .NET version 3.3 since version 3.2.1?
With the possibility of decomposition of the user interface, which has been added in the version 3.0, it is possible to build a composite user interface. For example, you can separate the database schema browsing UI from the SQL query building UI. Or you can combine the SQL text editor with the visual query building UI, giving the user the ability to edit the text of each sub-query apart from the entire query. This release is dedicated to the rethinking of the old features in a new way.
Improvements in the user queries API.
Previously, to edit the text of the saved user query, the user had to abandon the currently edited query, and the programmer could not keep track of this transition.
Now when the user selects the query editing command, the UserQueriesView.EditUserQuery event is triggered, in which the developer can save the current query before opening the new one, or he can open the user query in a new window, the way it's done in the updated Full-featured demo project. Also, the events are now fired on deleting, renaming and moving user queries between the folders. You can review all API changes in the release notes article.
The new helper class Core.UserQueries that consists of static methods has been added to perform various manipulations with user queries, such as adding, saving, moving, renaming them. It also has the means to save and load user queries serialized in XML format.
The updated Professional Full-Featured demo project illustrates the new functionality.
Editing Sub-query text apart from the entire query is possible now.
The component's API has allowed editing the text of a subquery long ago. The problem is that the text of the query modified by the user may have syntax errors, and the component lets switch to another subquery at any time. The erroneous text can not be saved, as it has to be parsed and translated into an object representation. In order not to lose the user changes when switching between subqueries, the component must be able to block this switch to inform the user of the error and offer ways out of the situation.
The new ActiveUnionSubQueryChanging event has been added to the QueryView and QueryBuilder components. The programmer can deny switching between sub-queries in this event handler by setting the e.Abort parameter to true.
The new SubQueryBreadcrumbsBar control has been made to display path from the main query to the currently active sub-query. It helps quickly switch to parent sub-queries.
The new Sub-Query Text Editing demo project has been added to illustrate the new functionality.
The data browsing UI is improved in the Full-featured demo project. It now uses the Query Transformer API to modify SQL queries.
The new MetadataLoadingOptions.AllowRecursiveVirtualObjects property allows specifying the mode of working with virtual objects. By default, referring to other virtual objects in the text of a virtual object is allowed. Such reference lets build a chain of objects to break complex queries in a series of simple ones. However, in this mode, you can't use the same-named physical object in a virtual object because of the emerging recursion. Setting this property to false prohibits creation chains of virtual objects, but allows to create virtual objects that substitute physical database objects.
Query Statistics: The UsedDatabaseObjects and UsedDatabaseObjectFields collections now include invalid objects and fields being used in the query. They differ from valid objects by the absence of MetadataObject (for objects) and MetadataField (for fields) references.
Usability of the Expression Editor is improved now with the new dockable panels.
SQL Text Editor with syntax highlighting is used now to edit joining expression in the Properties bar and dialog.
Now it's possible to select multiple rows and drag them to reorder columns in the SELECT list.
WinForms DevExpress UI: Query Columns Grid has been remade with DevExpress controls.
The new SQLite metadata provider has been added.
The Query Structure demo project has been refactored.
Removal of unused objects from query when the QueryBuilder.BehaviorOptions.DeleteUnusedObjects property is turned to True has been fixed.
SQL Syntax improvements.
IBM DB2: The ListAgg function is supported now.
PostgreSQL: Support of materialized view, TOAST tables and foreign tables has been made.
Oracle: Support of the "AT TIME ZONE" clause has been added.
Firebird: Column name definition after alias in the FROM clause is supported now.