Used to fetch rows in a separate thread.
property NonBlocking: boolean default False;
Set the NonBlocking option to True to fetch rows in a separate thread. The BeforeFetch event is called in the additional thread context that performs data fetching. This event is called every time on the Fetch method call. The AfterFetch event is called in the main thread context only once after fetching is completely finished.
In the NonBlocking mode as well as in the FetchAll=False mode an extra connection is created. When setting TCustomMSDataSet.Options.NonBlocking to True, you should keep in mind that execution of such queries blocks the current session. In order to avoid blocking, OLE DB creates an additional session as in the TCustomMSDataSet.FetchAll = False mode. It causes the same problems as in the TCustomMSDataSet.FetchAll = False mode. This problem can be solved by using MARS (TMSConnectionOptions.MultipleActiveResultSets = True). The current session is not blocked and OLE DB is not required to create addition session to run a query. MARS is supported since SQL Server 2005 if SQL Native Client is used as OLE DB provider.