TSDBQuery.AsyncOpen
| TSDBQuery = class (TObject) | Interface de TSDBQuery | Exemples de TSDBQuery |
Qubes 6.6 Ouvrir un jeu de données SQL de façon asynchrone
Syntaxe
procedure AsyncOpen()
Remarques
AsyncOpen et AsyncExecSQL sont asynchrones.
C'est-à-dire qu'ils n'attendent pas que la requête soit finie : l'exécution du code se poursuit immédiatement.
Cela peut faire gagner du temps quand on a un grand nombre d'ExecSQL qui se suivent ou quand on veut faire un Open en temps masqué (on ouvre la requête au début, on fait d'autres choses ce qui laisse le temps à la base de données de préparer le résultats et on les parcourt ensuite).
Bien sûr, dans le cas d'un AsyncOpen, si la suite du code vise immédiatement à parcourir les données, il n'y a pas de gain.
NB : le mode asynchrone peut générer des problèmes de débogage. En effet, comme les requêtes sont traitées en asynchrone, s'il y en a une qui provoque une erreur mais qu'on a avancé dans le code, l'endroit dans le code au moment où l'erreur se produit ne correspondra pas à la position du AsyncExecSQL problématique !
Pour faire des requêtes synchrones, utiliser Open et ExecSQL.