| PRODUCTS » VCL COMPONENTS » TMS QUERY STUDIO |
v1.3.0.0 (Jan 23, 2008)
|
TRIAL DOWNLOADS
- Delphi 5 (4.62 MB)
- Delphi 6 (4.62 MB)
- Delphi 7 (4.62 MB)
- Delphi 2005 (4.62 MB)
- Delphi 2006 (2.04 MB)
- Delphi 2007 (2.04 MB)
- C++Builder 5 (4.62 MB)
- C++Builder 6 (4.62 MB)
- C++Builder 2006 (2.04 MB)
- C++Builder 2007 (2.04 MB)
BOOKMARKS
TMS Query Studio
Make queries easy; flexible & powerful.
Feature overview
Query Studio provides an easy way to give users access to powerful queries without requiring any knowledge about SQL. Users can setup complex queries in an almost natural language way with Query Studio. Dropping the component VisualQuery on the form and connect to the database opens the visual query power of Query Studio.Feature details
- Visual definition of SQL, in a natural language-like way
- Allows definition of source tables and joins
- Allows definition of order and filtering
- Exclusive parameter editors feature: a value in the filter condition can be attached to a parameter editor. End-user can change editor value and it will automatically be reflected in SQL
- Supports SQL syntax for Microsoft Access, Microsoft SQL Server, Oracle, MySQL, Nexus, Interbase, DBISAM and Local BDE
- Automatically set TDataset properties. Supports BDE, ADO, IBX, DBISAM, Nexus, IBO, DirectSQL and DBExpress dataset descendants
- Automatic grouping feature for aggregate functions usage
- Support custom field expressions and custom filter conditions
What's new
v1.3
- New: Delphi 2006,2007 & C++Builder 2006,2007 support
- New: SyntaxConf property which can be used to configure the syntax of SQL statement to be generated when SQLSyntax is set to ssCustom
- New: ssFirebird syntax
- New: SyntaxConf.IndexInGroupBy and SyntaxConf.IndexInOrderBy properties to allow syntax like "Order by 3, 5"
- New: events OnItemDeleting, OnItemDeleted, OnTreeViewParamChanged
- New: coInsertCustom option in TClauseOptions. Use this to turn allow/prohibit end-user to use the custom dialogs for building the query
- New: OnRetrieveTablenameListEvent and OnRetrieveFieldnameListEvent events available for all TatDatabase descendents
- New: SQL statement can also be retrieve from a TClientDataset when it is set to the TargetDataset of TatVisualQuery component.
- New: Fields in popup menu are now being displayed in alphabetical order
v1.2
- New: SQLDirect components support
- New: IBO components support
- New: methods LoadQueriesFromStream and SaveQueriesToStream
- New: SQL Parser now supports field and table names with spaces (e.g., Select "Customer Name" from "Customer Table")
- New: poperty TatIBXDatabase.UseViews
- Improved: Generated SQL statement does not duplicate order by fields, even if end-user duplicated it in visual query
- Improved: Query Studio package does not longer require TMS Pack package when TMS Pack is installed
- Fixed: disappearing check boxes after dragging fields
- Fixed: "Could not parse SQL" with more than one space after "AND" and "OR" operators
- Fixed: bug with "#sm#" string in table names
FAQ
Q: How can I use a database component library for which no built-in interface component is provided in IntraWeb Query Builder?A: You can use TatCustomDatabase component to manually retrieve tables and field names and pass the names to visual query component. Just drop a TatCustomDatabase component and set event handlers for all its events. The example below shows how to use TatCustomDatabase to support BDE components (although it is already supported by the specific TatBDEDatabase component). You must have a TDatabase component in the form named Database1 which points to the DBDEMOS database.
var ASQL: String);
begin
if ADataset is TQuery then
ASQL := TQuery(ADataset).SQL.Text;
end;
procedure TForm1.atCustomDatabase1RetrieveFieldNameListEvent(
const ATableName: String; const AList: TStrings);
var
table: TTable;
c: integer;
begin
table:=TTable.Create(nil);
try
table.DatabaseName := 'DBDEMOS';
table.TableName := ATableName;
table.FieldDefs.Update;
for c := 0 to table.FieldDefs.Count-1 do
AList.AddObject(
table.FieldDefs[c].Name, // FieldName
TObject(Ord(table.FieldDefs[c].DataType)) ); // DataType
finally
table.Free;
end;
end;
procedure TForm1.atCustomDatabase1RetrieveTablenameListEvent(
const AList: TStrings);
begin
Database1.GetTableNames(AList);
end;
procedure TForm1.atCustomDatabase1OpenQueryEvent(ASql: String;
var ADataset: TDataSet);
begin
ADataset := TQuery.Create(Self);
with TQuery(ADataset) do
try
DatabaseName := 'DBDEMOS';
Sql.Text := ASql;
Open;
except
ADataset.Free;
ADataset := nil;
raise;
end;
end;
procedure TForm1.atCustomDatabase1WriteSqlPropertyEvent(ADataset: TDataSet;
ASql: String);
begin
if ADataset is TQuery then
TQuery(ADataset).SQL.Text := ASQL;
end;
Buy online

free updates for a full version cycle (from current version to v2.2) and free priority support:
75 EUR
for Delphi 5, 6, 7, 2005, 2006, 2007, C++Builder 5, 6, 2006, 2007

free updates for a full version cycle (from current version to v2.2) and free priority support:
225 EUR
for Delphi 5, 6, 7, 2005, 2006, 2007, C++Builder 5, 6, 2006, 2007
This product is also available in TMS VCL Subscription.
Copyright © 1995 - 2008 TMS Software


ONLINE ORDERS
Subscribe to RSS Feed