PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Caractéristiques du champ Table mémoire
  • Fermeture d'une requête
  • Utilisation du Fetch Partiel
  • Les différents types de requêtes
  • Récupération de rubriques de type Float sur Oracle (via ODBC)
  • Gestion de l'Unicode
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
Transfère directement le résultat d'une requête dans un champ Table mémoire (un champ Liste ou un champ Combo), avec possibilité de Fetch Partiel (récupération du résultat par blocs de lignes). Dans un parcours du type "SQLAvance/SQLLitCol", le transfert des informations dans le champ Table se fera à partir de l'enregistrement en cours.
Remarque : Cette fonction doit être utilisée lors d'un parcours du résultat de la requête de type SQLAvance/ SQLLitCol. Si cette fonction est utilisée dans un parcours de type SQLPremier/SQLCol, une erreur fatale est générée. Pour plus de détails sur les différents types de parcours du résultat d'une requête SQL, consultez Types de parcours SQL.
PHP La fonction SQLTable ne fonctionne pas si la requête contient des mémos binaires. Il est nécessaire de traiter séparément les mémos binaires (par exemple les enregistrer avec fSauveTexte).
Versions 18 and later
Linux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
New in version 18
Linux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Linux Cette fonction est désormais disponible pour les applications WINDEV sous Linux.
Example
// Transfert dans un champ Table : récupération sans fetch
ResSQL = SQLExec("SELECT NOMCLI,PRENOMCLI FROM FACT", "REQ1")
SI ResSQL ALORS
SQLTable("REQ1", TABLE_TabReq, "Nom du client" + TAB + "Prénom", "30 20")
// Calcule le nombre d'enregistrements résultat
NbEnr est un entier = TableOccurrence(TABLE_TabReq)
SINON
// Erreur SQL
FIN
SQLFerme("REQ1")
WEBDEV - Server codePHPAjaxHFSQLHFSQL Client/ServerHyper File 5.5OLE DBODBCNative Connectors (Native Accesses)
// Transfert dans un champ table : récupération uniquement des 25 premiers
ResSQL = SQLExec("SELECT NOMCLI,PRENOMCLI,VILLE FROM FACT", "REQ1")
SI ResSQL ALORS
// Avoir uniquement les 25 premières lignes
SQLTable("REQ1", TABLE_TabReq, 25)
SINON
// Erreur SQL
FIN
SQLFerme("REQ1")
WEBDEV - Server codeAjaxHFSQLHFSQL Client/ServerHyper File 5.5OLE DBODBCNative Connectors (Native Accesses)
// Transfert dans un champ Table : récupération par Fetch
ResSQL = SQLExec("SELECT NOMCLI,PRENOMCLI,VILLE FROM FACT", "REQ1")
SI ResSQL ALORS
// Récupération par groupe de 28 lignes
TANTQUE SQLTable(28,"REQ1", TABLE_MATABLE, "ColTitre", "90")
// Traitement  
SINON
// Erreur SQL
FIN
SQLFerme("REQ1")
Syntax

Transfert dans un champ Table mémoire sans Fetch Partiel Hide the details

SQLTable(<Nom de la requête> , <Champ Table> , <Nombre de lignes maximum> [, <Titre des colonnes>] , <Largeur des colonnes>)
<Nom de la requête>: Chaîne de caractères
Nom de la requête créée et exécutée avec la fonction SQLExec, ou exécutée avec la fonction SQLExecWDR.
<Champ Table>: Nom de champ
Nom du champ Table mémoire dans lequel le résultat de la requête doit être affiché.
<Nombre de lignes maximum>: Entier
Nombre de lignes maximum affichées dans le champ Table. Si ce paramètre est précisé, le champ Table contiendra au maximum <Nombre de lignes maximum> lignes affichées, même si le résultat de la requête contient un nombre supérieur de lignes.
<Titre des colonnes>: Chaîne de caractères optionnelle
Liste de tous les titres des colonnes du champ Table mémoire. Les différents titres sont séparés par TAB. Pour préciser uniquement la largeur des colonnes, ce paramètre peut correspondre à une chaîne vide ("").
<Largeur des colonnes>: Chaîne de caractères
Liste de toutes les largeurs des colonnes, séparées par un caractère espace. Pour préciser uniquement le titre des colonnes, ce paramètre peut correspondre à une chaîne vide ("").
WEBDEV - Server codeAjax

Transfert dans un champ Table mémoire avec Fetch Partiel Hide the details

SQLTable(<Nombre de lignes dans un bloc> , <Nom de la requête> , <Champ Table> [, <Titre des colonnes>] , <Largeur des colonnes>)
<Nombre de lignes dans un bloc>: Entier
Nombre de lignes constituant un bloc pour le Fetch Partiel. Seul ce bloc de lignes est chargé en mémoire, les blocs suivants sont automatiquement chargés en mémoire en tâche de fond.
<Nom de la requête>: Chaîne de caractères
Nom de la requête créée et exécutée avec la fonction SQLExec, ou exécutée avec la fonction SQLExecWDR.
<Champ Table>: Nom de champ
Nom du champ Table mémoire dans lequel le résultat de la requête doit être affiché.
<Titre des colonnes>: Chaîne de caractères optionnelle
Liste de tous les titres des colonnes du champ Table mémoire. Les différents titres sont séparés par TAB. Pour préciser uniquement la largeur des colonnes, ce paramètre peut correspondre à une chaîne vide ("").
<Largeur des colonnes>: Chaîne de caractères
Liste de toutes les largeurs des colonnes, séparées par un caractère espace. Pour préciser uniquement le titre des colonnes, ce paramètre peut correspondre à une chaîne vide ("").
Remarks

Caractéristiques du champ Table mémoire

Le nombre de colonnes du champ Table mémoire doit être suffisant pour accueillir toutes les colonnes du résultat de la requête.

Fermeture d'une requête

Une requête est fermée automatiquement :
  • après l'exécution de la fonction SQLTable si le Fetch partiel n'est pas utilisé.
  • dès que le résultat de la requête est récupéré en totalité si le Fetch partiel est utilisé.
WEBDEV - Server codePHPAjaxHFSQLHFSQL Client/ServerHyper File 5.5OLE DBODBCNative Connectors (Native Accesses)

Utilisation du Fetch Partiel

La récupération en cours s'arrête dès que la fonction SQLFerme est appelée ou dès que la fenêtre contenant le champ Table est fermée.
Il est possible d'utiliser le Fetch Partiel sur plusieurs requêtes en même temps.
WEBDEV - Server codePHPAjaxHFSQLHFSQL Client/ServerHyper File 5.5OLE DBODBCNative Connectors (Native Accesses)

Les différents types de requêtes

La fonction SQLTable permet d'associer à une table mémoire les requêtes créées avec la fonction SQLExec.
Pour associer à une table mémoire les requêtes créées sous l'éditeur de requêtes ou avec la fonction HExécuteRequêteSQL, utilisez la fonction FichierVersTableMémoire.
WEBDEV - Server codeAjaxODBC

Récupération de rubriques de type Float sur Oracle (via ODBC)

Par défaut, le séparateur décimal utilisé pour les rubriques de type Float sur Oracle est le point. Or le driver ODBC renvoie la valeur avec en utilisant la virgule comme séparateur décimal. Lors de l'affectation de la valeur dans un champ de type numérique, les décimales sont perdues.
Pour éviter ce problème, il suffit de configurer le séparateur décimal pour la connexion en cours :
// Connection to the Oracle database
SQLConnect("MyOracleDatabase", "User", "Pass", "", "ODBC")
// Request for changing the decimal separator
SQLExec("ALTER SESSION SET NLS_NUMERIC_CHARACTERS ='. '", "TempQry")

Gestion de l'Unicode

La gestion de l'Unicode peut être définie au niveau de la configuration de projet (onglet "Unicode" de la fenêtre de description de la configuration) :
  • Si l'option "Use ANSI strings at runtime" est sélectionnée : les données sont converties en utilisant l'alphabet courant.
    Rappel : La fonction ChangeAlphabet permet de modifier l'alphabet courant.
  • Si l'option "Use UNICODE strings at runtime" est sélectionnée, les données sont insérées sans transformation.
Component: wd270obj.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment