PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → Editeur de requête OU le code Sql
Editeur de requête OU le code Sql
Débuté par Wind, 23 mar. 2017 10:03 - 9 réponses
Posté le 23 mars 2017 - 10:03
Bonjour Tout le monde

Vraiment je me suis bouleversé entre 2 choix (Éditeur de requête et le code Sql)

Depuis longtemps j'utilise l’éditeur des requêtes afin de créer une requête qui me permet ,par exemple, de remplir une liste de clients ,basé bien sur sur des paramètres, puis je parcours cette requête grâce à la boucle suivante
Pour TOUT maRequete
TableAjouteLigne(MaTable,maRequete.Reference,......)
FIN


Dernièrement j'ai parlé à quelqu'un à propos de la vitesse d'affichage et l'optimisation des requêtes, il m'a conseillé d'utiliser le code SQl au lieu de créer des requêtes dans l'éditeur windev, je lui répond que je ne maîtrise pas beaucoup le code sql sachant que je connais tout les fonctions de SQL mais je les pratique pas beaucoup, alors il m' a proposé ,en premier lieu, de créer une requête dans l'éditeur puis copier son code sql et créer une variable dans laquelle j'affecte ce code sql
Comme ce ceci
Sql est une chaîne="SELECT FROM CLients,....."

Sincèrement, je me trouve dans le même principe seulement il y a une différence dans la manière de travail

Ma question
Est ce que je continué dans la même façon que je programme qu'avant ou bien j’utilise le code sql provenant des requêtes de l'éditeur, Ou bien je pratique directement le code SQL ?

D'après vos expériences, Quelle est la meilleure méthode à utiliser ?

J'ai besoin de votre aide et Merci de me donner une explication détaillée

Merci d'avance
Membre enregistré
1 923 messages
Popularité : +53 (65 votes)
Posté le 23 mars 2017 - 10:29
Bonjour,

A mon avis, il n'y a aucune différence entre les deux méthodes car l'éditeur de requête génère du code SQL.
Ce n'est qu'une interface pour produire du SQL pour ceux qui ne le maîtrise pas parfaitement.
D'aucuns trouvent que cela va plus vite d'écrire directement du SQL ; mais surtout, c'est beaucoup plus souple et cela permet d'écrire vite des requêtes complexes.

La vraie différence dans ton cas est éventuellement d'utiliser des tables fichiers basées sur ta requête plutôt que des tables programmées si cela s'y prête.
Voir la doc en conséquence.

--
Bon dev,
Jean-Pierre
Posté le 23 mars 2017 - 11:45
Merci Jean de votre réponse

Oui effectivement, les tables fichiers basées sur des requêtes plus rapides que des tables programmées.
Posté le 23 mars 2017 - 12:54
Bonjour

perso, je conseille d'utiliser l'éditeur parce que :
- le code de la requête générée fonctionne (pas de risque d'erreur de
syntaxe)
- le code est TRADUIT automatiquement dans le "dialecte" sql de la base
cible, quelle que soit la base utilisée
- comme le compilo connait intimement la requête créé dans l'éditeur, on
a droit à la complétion automatique dans l'éditeur
- donc pas de risque d'avoir une erreur lors de l'exécution. SI on tape
un nom de champ faux, on le voit tout de suite
- et bien sur, l'éditeur de requête ne va pas essayer d'utiliser une
option/syntaxe non reconnue par toutes les bases de données, en
particulier HFSQL.
- finalement, pas besoin d'apprendre le sql en plus de tout le reste... :-)

Quand à la vitesse d'exécution de la requête, elle est identique dans
les deux cas (si la requête est la même, bien sur)

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 3/23/2017 à 5:45 AM, wind a écrit :
Merci Jean de votre réponse

Oui effectivement, les tables fichiers basées sur des requêtes plus
rapides que des tables programmées.
Posté le 23 mars 2017 - 15:17
Merci Fabrice pour le détail

Maintenant je suis tranquille.

Mais parfois je me trouve devant 2 requêtes différents une pour calculer la somme des Montants pour le cas des ventes et l'autre pour le cas des avoirs sachant que j'ai un seul fichier nommé "Commandes" qui contient les 2 cas (Ventes et avoirs) on le sépare par leur EtatCommande ="FA" ou "AV" .
Pour mois j'arrive pas à le faire dans une seule requête dans l'éditeur...
Posté le 23 mars 2017 - 15:29
Bonjour

ajoute simplement une condition sur etatcommande, de type égal à un
paramètre, et passe le paramètre à ta requête

Tout est dans l'aide sur l"éditeur de requête

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 3/23/2017 à 9:17 AM, Wind a écrit :
Merci Fabrice pour le détail

Maintenant je suis tranquille.

Mais parfois je me trouve devant 2 requêtes différents une pour calculer
la somme des Montants pour le cas des ventes et l'autre pour le cas des
avoirs sachant que j'ai un seul fichier nommé "Commandes" qui contient
les 2 cas (Ventes et avoirs) on le sépare par leur EtatCommande ="FA" ou
"AV" .
Pour mois j'arrive pas à le faire dans une seule requête dans l'éditeur...
Posté le 23 mars 2017 - 15:48
Bonjour

Donc je dois créer 2 requêtes une pour les ventes et l'autre pour les avoirs et je dois les parcours pour afficher les resultats

Merci
Posté le 23 mars 2017 - 15:58
absolument pas !

Je viens de t'expliquer le contraire... si tu n'as pas compris mon
message, il est temps que tu lise EN DETAILS l'aide sur l'éditeur de
requêtes.

Cordialement


--
Fabrice Harari
Consultant WinDev, WebDev et WinDev Mobile International

A votre disposition : WXShowroom.com, WXReplication (open source) et
maintenant WXEDM (open source)

Plus d'information sur http://fabriceharari.com


Le 3/23/2017 à 9:48 AM, Wind a écrit :
Bonjour

Donc je dois créer 2 requêtes une pour les ventes et l'autre pour les
avoirs et je dois les parcours pour afficher les resultats

Merci
Membre enregistré
2 566 messages
Popularité : +222 (260 votes)
Posté le 24 mars 2017 - 05:07
Bonjour,

Selon la complexité de ta requête, l'éditeur ne peut pas t'aider et il ta faut alors passer par le code sql. Si tu ne maîtrises pas le langage sql, apprends le, ça te sera toujours utile.

Perso j'utilise les deux, l'éditeur lorsque les requêtes sont simples, ça me permet comme le dit Fabrice d'avoir la complétion auto. Quand ça devient trop complexe, je me retourne en code pur car la gestion des jointures laisse à désirer selon moi et je vois plus facilement ce que je recherche en code que par l'éditeur.

Pour ton cas, de somme des ventes, il te faut faire une somme des montants et grouper par type de documents, tout va ressortir tout seul.
Posté le 24 mars 2017 - 10:14
Bonjour M Philippe

Oui j'ai compris que lors i y a une requête complexée, il faut que je me retourne en code vers le code sql.
C'est ce que je faisais et ça marche et mon problème a été resoulé

Merci encore une fois M Philippe