Level 2 exam — harder

Exam — fresh questions

2 · Recall

1. What is the difference between HFSQL Classic and HFSQL Client/Server?

Classic stores data in files on a local disk or network share (standalone/small network); Client/Server installs a real server that processes queries (multi-user, volumes, security, remote access).
2 · Application

2. Yacine needs to speed up product searches by CodeProduit. What is the most cost-effective action?

Indexing a frequently searched column is the most cost-effective optimisation: the index greatly speeds up searches and sorts on that column.
2 · Recall

3. In an SQL query, what is the WHERE clause for?

WHERE applies filtering conditions: only certain rows are kept. Placed on the database side, it lets the engine use its indexes and send only what is useful.
2 · Application

4. Yacine wants to display the customer name next to each order. Which query element does he use?

The join combines several linked files: it is indispensable for displaying the customer name next to their order instead of only their identifier.
2 · Arbitration

5. Yacine hesitates between bringing everything back then sorting in WLangage, or filtering in the query. What does he favour?

Filtering on the database side is infinitely faster: the engine uses its indexes and sends only what is useful, whereas bringing everything back saturates the network and memory only to throw away most of the rows.
2 · Recall

6. In a report, what does the “body” block contain?

The body block repeats for EACH record: it is the heart of the report. The start of document prints once, the page header and footer on each page.
2 · Application

7. Yacine wants subtotals per customer in his summary invoice. How does he proceed?

Breaks are the reporting mechanism: a grouping per customer creates a break start block and a break end block where the subtotals go — provided the data is sorted on that column.
2 · Arbitration

8. To produce reliable totals in a report, what is the best practice?

The best practice is to prepare the data via a query (filtered, sorted) rather than multiplying calculations in the report: the report becomes simpler, more reliable and more reusable.
2 · Recall

9. Which WLangage loop automatically traverses all records and handles the end of the traversal?

The POUR TOUT loop is the modern and recommended form: concise, readable, it traverses all records and automatically handles the end of the traversal.
2 · Application

10. Yacine displays his catalogue (thousands of references) on screen. Which type of table does he favour?

For data coming from the database and large volumes, the file table linked to a file or query fills automatically and loads only the displayed rows: it is the mode to favour in management applications.
2 · Recall

11. In which process of a WinDev window do we load data and prepare the screen?

Initialisation runs when the window opens: that is where data is loaded and the screen prepared. Global declarations only declare the shared variables.
2 · Application

12. Yacine wants to immediately check the quantity entered in an order field. Where does he place this check?

The input check goes in the relevant control's exit: the user gets immediate feedback when leaving the control, rather than waiting for the Valider button click.
What's next?
Back to the guideGuide contents