To stop the fetch processing, you can perhaps use the TOracleDataSet.AfterFetchRecord event. The documentation contains an example.
To cancel query execution processing (which can take a long time due to internal sorts or aggregation functions), you would have to open the dataset in a background thread and call TOracleSession.BreakExecution to cancel the operation.
------------------
Marco Kalter
Allround Automations