3.8. Creating the Primary Modules
We will create two primary modules in our application: a product module and a customer module. Each primary dataset is displayed on a form by means of a TDBGrid
grid and a toolbar with buttons. The business logic of working with the dataset will be located in a separate DataModule that contains a TDataSource
data source, a TFDQuery
dataset, and two TFDTransaction
transactions, one read-only and one read/write.
As our model for creating datasets, we will create the Customer dataset on the dCustomers datamodule:
Figure 5. dCustomers datamodule
On tabbing to the Customers form, this is the initial view. The DataSource component is not visible on the form because it is located in the dCustomers datamodule.
Figure 6. Customers form, initial view
We have placed the TFDQuery
component in the dCustomers
datamodule and named it qryCustomers
. This dataset will be referred to in the DataSet
property of the DataSource
data source in DCustomers
. We specify the read-only transaction trRead
in the Transaction
property, the trWritetransaction
in the UpdateTransaction
property and, for the Connection
property, the connection located in the main data module. We populate the SQL
property with the following query:
SELECT
customer_id,
name,
address,
zipcode,
phone
FROM
customer
ORDER BY name