Utilisation des opérations de base de données synchrones et asynchrones

Adobe AIR 1.0 et les versions ultérieures

Les sections précédentes ont décrit les opérations de bases de données courantes, telles que la récupération, l’insertion, la mise à jour et la suppression de données, ainsi que la création d’un fichier de bases de données, de tables et d’autres objets dans une base de données. Les exemples montraient comment effectuer ces opérations de façon asynchrone et synchrone.

Nous vous rappelons qu’en mode d’exécution asynchrone, vous demandez au moteur de base de données d’effectuer une opération. Celui-ci travaille ensuite en arrière-plan pendant que l’application poursuit son exécution. Lorsque l’opération est terminée, le moteur de base de données déclenche un événement pour vous le signaler. Le principal avantage de l’exécution asynchrone est que le moteur d’exécution effectue les opérations de base de données en arrière-plan pendant que l’application principale poursuit son exécution. Cela est d’autant plus précieux lorsque l’exécution de l’opération prend beaucoup de temps.

D’un autre côté, les opérations en mode d’exécution synchrone ne s’exécutent pas en arrière-plan. Vous indiquez au moteur de base de données d’effectuer une opération. Le code s’interrompt à ce stade pendant que le moteur de base de données effectue son travail. Lorsque l’opération est terminée, l’exécution se poursuit avec la ligne suivante de votre code.

Une seule connexion de base de données ne permet pas d’exécuter certaines opérations ou instructions de façon synchrone et d’autres de façon asynchrone. Vous précisez si une occurrence de SQLConnection s’exécute en mode synchrone ou asynchrone lors de l’ouverture de la connexion à la base de données. Si vous appelez SQLConnection.open(), la connexion opère en mode d’exécution synchrone, et si vous appelez SQLConnection.openAsync(), le mode d’exécution asynchrone est utilisé. Dès qu’une occurrence de SQLConnection est connectée à une base de données par une méthode open() ou openAsync(), elle fonctionne définitivement en mode synchrone ou asynchrone.