SQL_QUERY
Utilisé pour exécuter une requête Sql spécifique (lecture ou écriture). Il est essentiel de gérer les problèmes de synchronisation entre les paramètres de substitution et les déclencheurs.
Support WebVue - Oui.
L'utilisation de connexions Sql préconfigurées avec les instructions SQL_CONNECTION, SQL_COMMAND et SQL_QUERY sont préférables à l'utilisation du verbe SVSQL (basé sur ODBC).
Les connexions Sql préconfiguré sont configurées dans l'Application Explorer. Consultez le chapitre Data Connections pour plus d'informations.
Ce verbe peut être exécuté localement sur le poste de production de la connexion Sql ou à partir de n'importe quel poste client du producteur. Dans ce dernier cas, les commandes et les données renvoyées sont acheminées de manière transparente à travers le système de messagerie multi-postes. Les connexions multiples en utilisant la même Connexion Sql seront refusées. Les connexions multiples en utilisant la même Connexion Sql seront refusées, cependant, il est possible d'envoyer plusieurs requêtes simultanément en utilisant la même Connexion Sql.
Les connexions, et les données qui leur sont associées, sont gérées dans le contexte des sessions utilisateurs. Une connexion ne doit être utilisée que dans le contexte de la session qui l'a initiée à l'origine ; et tous les objets correspondants doivent être libérés/fermés correctement avant que la session ne se termine. Par exemple, il n'est pas possible d'initier une connexion au démarrage et d'avoir des requêtes qui s'exécutent ultérieurement dans des sessions utilisateurs.
| Mode | Mnémonique | Syntaxe |
| 1 | EXECUTE | 1 |
Syntaxe 1
IntVal = SQL_QUERY(Mode, SqlConnectionName, SqlQueryName [,Param01…[,Param10]]);
Type de retour : INTEGER
|
Argument |
Description |
|
SqlConnectionName |
Nom de la connexion Sql tel que configuré dans Général.Connexions de données de l'Application Explorer. Type STR. |
|
SqlQueryName |
Le nom d'une requête Sql subordonnée à la connexion Sql. Type STR. |
| Parm01.... |
Une liste de valeurs pour écraser les paramètres de requête. Les paramètres sont remplacés dans l'ordre : ?Param1, ?Param2, ?Param3, ?Param4, etc. Type STR. Si une valeur est manquante, la substitution configurée est utilisée. Une valeur de paramètre peut être une expression comme supporté pour la configuration de requête prédéfinie. |
Exécution
|
Mode |
Mnémonique |
Action |
| 1 | EXECUTE |
Exécute le nom de requête Sql. Il est équivalent à la requête Déclencher une requête avec paramètres tâche disponible dans l'Application Explorer. Renvoi : 0 en cas de succès, sinon un nombre négatif indiquant une erreur. Voir le tableau ci-dessous pour les valeurs de retour. |
Le mode EXECUTE est asynchrone. Le développeur de l'application doit s'assurer que les variables status sont correctement configurées pour la requête et utilisées pour suivre la progression, le succès ou l'échec de l'exécution.
Liste des valeurs de retour possible et leurs significations
| Valeur de retour | Enum | Description |
| 0 | OPERATION_SUCCEEDED | Opération terminée avec succès. |
| -1 | SQLCONNAME_PARAM_NOT_STR_OR_NOT_READ | Le paramètre SqlConnectionName n'est pas de type string ou n'a pas pu être lu. |
| -2 | SQLQUERYNAME_PARAM_NOT_STR_OR_NOT_READ | Le paramètre SqlQueryName n'est pas de type string ou n'a pas pu être lu. |
| -3 | SQLCON_DONT_EXISTS | La connexion Sql spécifiée n'existe pas dans la configuration. |
| -4 | SQLQUERY_DONT_EXISTS | La requête Sql spécifiée n'existe pas dans la configuration. |
| -5 | SQLQUERY_TOO_MANY_PARAM | Le nombre maximum de paramètres (21) a été dépassé. |
| -6 | SQLQUERY_PARAM_UNSUPPORTED_TYPE | Le type d'un paramètre n'est pas pris en charge. |
| -7 | SEND_COMMAND_FAILED | Impossible d'envoyer la commande Sql. Cette erreur se produit si le service Windows sous-jacent est arrêté ou si l'utilisateur n'a pas assez de privilèges pour exécuter la commande. |