Please ensure Javascript is enabled for purposes of website accessibility
Powered by Zoomin Software. For more details please contactZoomin

AVEVA™ InTouch HMI

Opérations SQL usuelles avec InTouch

  • Last UpdatedSep 24, 2024
  • 4 minute read

InTouch fait appel aux fonctions<:hs>SQL<:hs>Access pour modifier les informations de la base de données. Ces fonctions<:hs>SQL<:hs>Access vous permettent d'écrire des scripts afin de sélectionner, de modifier, d'insérer ou de supprimer des enregistrements de la base de données.

Notez que les actions<:hs>SQL sont synchrones. Lorsque vous exécutez une fonction de base de données dans un QuickScript, à partir d'une application InTouch, le contrôle ne revient à InTouch qu'une fois que l'action demandée par la fonction a été complétée sur la base de données.

Les fonctions<:hs>SQL<:hs>Access respectent des normes de ponctuation indiquant le type des arguments associé à une fonction. Lorsqu'une chaîne est transmise comme argument, encadrée par des guillemets anglais ("Arg1"), le script utilise la chaîne littérale exacte. Si vous n'utilisez pas de guillemets, l'argument est considéré comme le nom d'une variable et c'est la valeur associée à cette variable qui est utilisée.

La plupart des fonctions<:hs>SQL renvoient un code de résultat. Un code de résultat différent de zéro signale un échec de la fonction, et d'autres actions doivent alors être effectuées. Le code de résultat peut être utilisé par la fonction SQLErrorMsg().

L'insertion de fonctions<:hs>SQL dans des scripts s'effectue dans l'éditeur de QuickScripts d'InTouch. La procédure générale pour insérer une fonction SQL dans un script est la suivante<:hs>:

Insérer une fonction SQL dans un script

  1. Démarrez InTouch WindowMaker.

  2. Ouvrez le script dans l'éditeur QuickScript.

  3. Placez le curseur à l'endroit du script où vous souhaitez insérer la fonction SQL.

  4. Dans la zone Fonctions, cliquez sur Additionnelles pour ouvrir la boîte de dialogue Sélection d’une fonction.

  5. Cliquez sur la fonction SQL que vous souhaitez insérer dans le script. Le script est mis à jour et affiche la fonction SQL insérée.

Les arguments associés aux fonctions<:hs>SQL<:hs>Access sont les suivants<:hs>:

  • BindList

    Correspond au nom d'une liste de liens définie dans le fichier SQL.DEF.

  • ConnectionID

    L'argument ConnectionID fait référence au 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.

  • ConnectString

    L'argument ConnectString identifie le système de base de données et toute autre information de connexion. Elle est entrée au format suivant<:hs>:

    "DSN=nom source données [;attribut=valeur"

    [;attribut=valeur]...]"

    Chaînes de connexion pour Microsoft SQL<:hs>Server

    • Fournisseur Microsoft OLE<:hs>DB pour SQL<:hs>Server (utilisation recommandée)

      "Provider=SQLOLEDB.1;User ID=sa; Password=;Initial Catalog=MyDB;Data Source=MyServer;"

      Fournisseur OLE<:hs>DB du serveur SQL sqloledb.

    • Fournisseur Microsoft OLE<:hs>DB pour SQL<:hs>Server (utilisation recommandée)

      "Provider=SQLOLEDB.1;uid=sa;pwd=;Database=MyDB"

    • Fournisseur Microsoft OLE<:hs>DB pour<:hs>ODBC (utilisant le fournisseur MSDASQL par défaut pour SQL<:hs>Server)<:hs>:

      "DSN=Pubs;UID=sa;PWD=;"

    • Fournisseur Microsoft OLE<:hs>DB pour<:hs>ODBC (utilisant le fournisseur MSDASQL par défaut pour SQL<:hs>Server)<:hs>:

      "Data Source=Pubs;User ID=sa;Password=;"

      Chaînes de connexion pour Oracle

    • Fournisseur Microsoft OLE<:hs>DB pour Oracle (utilisation recommandée)

      "Provider=MSDAORA;Data Source=ServerName;User ID=UserIDStr; Password=PasswordStr;"

      Chaînes de connexion pour Microsoft<:hs>Access

      Fournisseur Microsoft OLE<:hs>DB pour Microsoft Jet (utilisation recommandée). Microsoft.Jet.OLEDB.4.0 est le fournisseur OLE<:hs>DB natif utilisé par Microsoft Jet (le moteur de la base de données Microsoft<:hs>Access).

      "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\DBName.mdb;User ID=UserIDStr;Password=PasswordStr;"

      Fournisseur Microsoft OLE<:hs>DB pour<:hs>ODBC (utilisant le fournisseur MSDASQL par défaut pour MS Access)<:hs>:

      "Provider=MSDASQL;DSN=DSNStr;UID=UserName; PWD=PasswordStr;"

  • ErrorMsg

    Variable de type message contenant une description du message d'erreur.

  • NomFichier

    Nom du fichier contenant les informations.

  • MaxLen

    Taille maximale de la colonne à laquelle ce paramètre est associé. Cet argument détermine si les données sont de du type Caractère variable ou du type Caractère variable long. Si MaxLen est inférieur ou égal à la plus longue chaîne de caractères acceptée par la base de données, alors les données sont du type Caractère variable. S'il est supérieur, il est de type Caractère variable long.

  • OrderByExpression

    Défini si les colonnes sont en ordre croissant ou décroissant. Seuls les noms de colonne peuvent être utilisés pour le tri. Le format de cette expression doit être<:hs>:

    NomColonne [ASC|DESC]

    Pour trier la table sélectionnée en fonction d'un nom de colonne, en ordre croissant<:hs>:

    "manager ASC"

    Pour trier la table en fonction de plusieurs colonnes, vous devez entrer l'expression ci-dessous<:hs>:

    ColumnName [ASC|DESC],

    NomColonne [ASC|DESC]

    Pour trier une table sélectionnée en fonction d'une première colonne (par exemple celle relative à la température) en ordre croissant et d'une deuxième colonne (par exemple celle relative à l'heure) en ordre décroissant, la syntaxe doit être la suivante<:hs>:

    "température ASC, heure DESC"

  • ParameterNumber

    Numéro de paramètre réel dans l'instruction.

  • ParameterType

    Type de données du paramètre indiqué. Les valeurs acceptées sont<:hs>:

    Ecrivez

    Description

    Char

    Chaîne de longueur fixe complétée par des blancs

    Var Char

    Chaîne de longueur variable

    Décimale

    Nombre BCD

    Entier

    Entier signé sur 4 octets

    Petit entier

    Entier signé sur 2 octets

    Virgule flottante

    Virgule flottante sur 4 octets

    Double précision

    Virgule flottante sur 8 octets

    DateHeure

    Valeur date sur 8 octets

    Date

    Valeur de date sur 4 octets

    Temps

    Valeur de date sur 4 octets

    (Aucun)

    Aucun type de données

  • ParameterValue

    Valeur effective à définir

  • laPrécision

    Précision décimale de la valeur, taille maximale du caractère ou longueur en octets de la valeur de date/d'heure.

  • RecordNumber.

    Numéro de l'enregistrement à extraire.

  • ResultCode

    Variable de type entier renvoyée par la plupart des fonctions<:hs>SQL. ResultCode est renvoyé avec la valeur zéro (0) si la fonction aboutit, et un entier négatif dans le cas contraire.

  • Échelle

    Précision de la valeur décimale. Cette valeur n'est nécessaire que pour la définition d'un paramètre nul, lorsque c'est applicable.

  • StatementID

    Lorsque vous utilisez les instructions de caractéristiques avancées, SQL renvoie un StatementID, dont il se sert en interne.

  • SQLStatement

    Instruction réelle, par exemple<:hs>:

    ResultCode=SQLSetStatement(ConnectionID, "Select LotNo, LotName from LotInfo");

  • TableName

    Le paramètre TableName contient le nom de la table à consulter ou à créer dans la base de données.

  • TemplateName

    Le paramètre TemplateName est le nom du modèle dans le fichier SQL.DEF où la table est définie.

  • WhereExpr

    Définit une condition de type vrai ou faux pour chaque ligne de la table. La fonction extrait uniquement les lignes satisfaisant la condition de type vrai. L'expression doit avoir le format suivant<:hs>:

    NomColonne opérateur_comparaison expression

    Remarque : si la colonne est du type caractère, l’expression doit être saisie 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