SQLSelect()
- Last UpdatedSep 24, 2024
- 3 minute read
La fonction SQLSelect() récupère les enregistrements d'une table. Lorsque le script contenant fonction SQLSelect() est exécutée, les enregistrements récupérés sont installés en mémoire dans une table de résultats temporaire. Vous pouvez parcourir ces enregistrements à l'aide des fonctions SQLFirst(), SQLLast(), SQLNext() et SQLPrev().
Important : appelez toujours la fonction SQLEnd() après la fin du script contenant la fonction SQLSelect(), afin de libérer la mémoire utilisée pour la table de résultats.
Catégorie
SQL
Syntaxe
[ResultCode=]SQLSelect(ConnectionID,TableName, BindList,WhereExpr,OrderByExpression);
Arguments
ConnectionID
Nom d'une variable mémoire de type entier, renseignée avec le numéro d'identifiant attribué par la fonction SQLConnect() à chaque connexion avec la base de données.
TableName
Nom de la table de données à atteindre.
BindList
Définit les associations entre les variables InTouch et la base de données.
WhereExpr
Définit une condition de type vrai ou faux pour chaque ligne de la table. La fonction SQLSelect() extrait uniquement les lignes pour lesquelles la condition WhereExpr est vraie. L'expression doit avoir le format suivant<:hs>:
NomColonne opérateur_comparaison expression.
Remarque : dans le cas d’une comparaison de chaînes, l’expression doit être placée entre apostrophes.
L'exemple suivant sélectionnera toutes les lignes dont la colonne «<:hs>Name<:hs>» contient la valeur «<:hs>EmployeeID<:hs>»<:hs>:
Name='EmployeeID'
L'exemple suivant sélectionne toutes les lignes contenant des numéros de pièces entre 100 et 199<:hs>:
partno>=100 and partno<200
L'exemple suivant sélectionne tous les enregistrements dont la colonne «<:hs>temperature<:hs>» contient une valeur supérieure à 350<:hs>:
temperature>350
WhereExpr: Variable mémoire de type message
OrderByExpr: Var. mémoire message
Speed_Input: Var. mémoire réelle - saisie analogique de l'utilisateur
Serial_Input: Var. mémoire message - saisie chaîne de l'utilisateur
Exemple avec une valeur analogique
WhereExpr = "Speed = " + text
(Speed_Input,"#.##");
Speed_Input étant un nombre, il doit être converti en texte afin d'être concaténé à la chaîne WhereExpr.
Exemple avec une valeur chaîne
WhereExpr = "Ser_No = ‘" +
Serial_input + "'";
Serial_Input étant une chaîne, la valeur doit être délimitée par des apostrophes. Par exemple : WhereExpr = "Ser_No='125gh'";
Exemple de chaîne utilisant l'instruction LIKE
WhereExpr = "Ser_No like ‘-'"
Lors de l'utilisation de l'opérateur de comparaison LIKE, le caractère % peut être utilisé comme caractère générique.
Exemple de chaîne et de valeur analogique utilisant l'opérateur booléen AND
WhereExpr = "Ser_No = ‘" + Serial_input + "'" + " and " + "Speed = " + text(Speed_Input,"#.##");OrderByExpr = "";
Si l'ordre importe peu, utilisez une chaîne NULL comme illustré ci-dessus.
SQLSelect avec variable WhereExpr
ResultCode = SQLSelect(Connect_Id,TableName,
BindList,
WhereExpr,OrderByExpr);
Error_msg = SQLErrorMsg( ResultCode );
Fonction WhereExpr intégrée à une instruction SQLSelect
ResultCode = SQLSelect(Connect_Id,TableName,
BindList,
"Ser_No = ‘" + Serial_input + "'", OrderByExpr);
Error_msg = SQLErrorMsg( ResultCode );
OrderByExpr
Définit l'ordre de tri des données à l'intérieur d'une colonne de la table. Seuls les noms de colonnes peuvent être employés pour le tri. L'expression doit avoir le format suivant<:hs>:
ColumnName [ASC|DESC]
L'exemple suivant trie les données de la colonne «<:hs>manager<:hs>» de la table sélectionnée, en ordre croissant<:hs>:
"manager ASC"
Vous pouvez aussi lancer un tri sur plusieurs colonnes, en employant une expression du type suivant<:hs>:
ColumnName [ASC|DESC],
NomColonne [ASC|DESC]
L'exemple suivant trie la table sélectionnée sur la colonne «<:hs>temperature<:hs>» en ordre croissant et sur la colonne «<:hs>time<:hs>» en ordre décroissant<:hs>:
"temperature ASC, time DESC"
Exemples
L'instruction suivante sélectionne des enregistrements de la table BATCH à partir d'une liste de liens nommée List1, dont la colonne nommée "<:hs>type<:hs>" contient la valeur "<:hs>cookie<:hs>". Elle présente les informations triées en ordre croissant de la colonne «<:hs>amount<:hs>» et en ordre décroissant de la colonne «<:hs>sugar<:hs>»<:hs>:
ResultCode=SQLSelect(ConnectionID,"BATCH", "List1","type=’cookie’","amount ASC,sugar DESC");
L'instruction suivante sélectionne toutes les données de la base de données, et ne spécifie aucune valeur pour les arguments WhereExpr et OrderByExpr<:hs>:
ResultCode=SQLSelect(ConnectionID,"BATCH", "List1", "","");
Voir aussi
SQLFirst(), SQLConnect(), SQLLast(), SQLNext(), SQLPrev(), SQLEnd()