Delphi Quickly Define Powerful Client-Side Aggregating Formulas With FireDAC Using TFDQuery In Delphi

FireWind

Свой
Регистрация
2 Дек 2005
Сообщения
1,957
Реакции
1,199
Credits
4,009
Quickly Define Powerful Client-Side Aggregating Formulas With FireDAC Using TFDQuery In Delphi
January 24, 2021 by Konstantin Tomov

This sample demonstrates how to define the client-side aggregating formulas with Для просмотра ссылки Войди или Зарегистрируйся. You can find out more about Для просмотра ссылки Войди или Зарегистрируйся in the Embarcadero DocWiki.

The fkAggregate aggregated fields management is similar to the expression calculated fields management. FireDAC calculates aggregated fields when Для просмотра ссылки Войди или Зарегистрируйся is set to True (by default, its value is set to False). The aggregated expression cannot be changed when the dataset is active. Also, the FireDAC application can use the Для просмотра ссылки Войди или Зарегистрируйся collection to define aggregated values. They are more light-weighted than fields and can be defined at any time, including when the dataset is active.

Location​

You can find the Aggregates sample project at:
  • Start | Programs | Embarcadero RAD Studio Sydney | Samplesand then navigate to:
    • Object PascalDatabaseFireDACSamplesComp LayerTFDQueryAggregates
  • Subversion Repository:
    • You can find Delphi code samples in Для просмотра ссылки Войди или Зарегистрируйся. Search by name into the samples repositories according to your RAD Studio version.

How to Use the Sample​

  1. Navigate to the location given above and open Aggregates.dproj.
  2. Press F9 or choose Run > Run.
1611557217808.png

Files​

File in DelphiContains
Aggregates.dproj
Aggregates.dpr
The project itself.
fAggregates.pas
fAggregates.fmx
The main form.

Implementation​

Before running the sample, the main components are configured at design time using the Для просмотра ссылки Войди или Зарегистрируйся as follows:
  • A Для просмотра ссылки Войди или Зарегистрируйся object named qryAggregates. This component is used to implement a dataset capable of executing SQL queries. The following setup is needed:
  • Configure the Для просмотра ссылки Войди или Зарегистрируйся property to specify the FireDAC connection object that is used to connect to a DBMS.
  • Set the Для просмотра ссылки Войди или Зарегистрируйся property to select * from {id Orders}. It specifies the SQL statement to execute for the query.
  • Edit the Для просмотра ссылки Войди или Зарегистрируйсяproperty with 4 aggregate expressions:
    1. AVG(Freight)
    2. SUM(Freight)
    3. MAX(OrderID)
    4. Typed by the user using the edit box.
  • A Для просмотра ссылки Войди или Зарегистрируйся object named DataSource1. This component provides an interface between a dataset component and data-aware controls on a form. In this sample, it is used to provide communication between the dataset and the Для просмотра ссылки Войди или Зарегистрируйся where the dataset is displayed. To this end, the DataSet property of DataSource1 is set to qryAggregates and the DataSource property of DBGrid1 is set to DataSource1.
When you run the application, click on the Use Connection Definition combo box and select an option in order to Для просмотра ссылки Войди или Зарегистрируйся. When you select an item of the combo box, the sample uses the Для просмотра ссылки Войди или Зарегистрируйся method of qryAggregates in order to execute the SQL statement that retrieves the “Orders” table from the database. Then, the sample displays the “Orders” table using a Для просмотра ссылки Войди или Зарегистрируйся component. Once the DBGrid1 is filled, you can interact with the sample in the following ways:
  1. Set an aggregate expression. Type your own aggregate expression on the Try edit box and press Enter for evaluation. For example: type MAX(Freight) and press Enter to see the maximum value of the Freight field on the Result edit box.
  2. Preset aggregate expressions. See the evaluation of the preset aggregate expressions.
The next link will guide you to the original post, on which you will find more detailed information, as well as other interesting links:
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся