New Sample - DQL with no output and the superiority of ExecDQL over traditonal DQL... You won't believe it!
If you are just looking for a way to "fool" DataEase into not generating any visual output there is several ways, just remember that all the work-around's actually generate all the output and use all the "slow" features. If you use ExecDQL, it simply isn't just no output, it is also 100-1000s of times faster than the "normal" DQL and you can use it everywhere as an integral part of your programming.
But first the resulting times when updating 18.000 records in our test app:
Not a hack! ExecDQL: 0 seconds (not measurable in seconds...)
Hack #1: Export Hack. 37 seconds.
Hack #2: Printing to Null device: 1:14 seconds.
Hack #1:
Simply add export to the DQL.
This export hack was made to allow for exporting text to files i.e. DFD DQL's in DFW.. It was never very good and it is slow, but to achieve no output DQL's with List Records (Sorting) it is the best.
for Customers ;
list records
CustomerName in order .
modify records
Contact := Concat("ExportMethod: ",current time, " ", current date ).
end
export to "nul" .
.form header
.items
@f[1,1]
.end
Hack #2
Hack number two is like the printing to file hack in 6.53 but with the improvement of not having to save it to file at all. Nul device exist in all windows version and is like a black hole. You can use it as a terminator of a stream as no output is generated/saved or displayed. It is simply truncated.
To get this too work you need to also set up the printer in your printers.
But in all honesty, stop using these hacks and get on-top of ExecDQL, as you can tell from the results above, the difference is staggering.
With ExecDQL you can use DQL to do anything for you, with these hacks you quickly see that you spend a lot of time/energy to do very little.
Add to that that ExecDQL can manipulate directly into your form too and it's not a contest. It never was....;-)
If you wan to make a report, simply enter the date in a table with ExecDQL or append it to a Memo or a text file and then simply open the report, the form or print it directly with PrintMemo() or PrintHTML(). The result is better, the speed is better, and the context is better.