PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → Requête SQL ne donnant pas le même résultat avec HExécuteRequêteSQL et Centre de Contrôle HFSQL
Requête SQL ne donnant pas le même résultat avec HExécuteRequêteSQL et Centre de Contrôle HFSQL
Débuté par Innocents KOUAME, 06 juil. 2017 17:07 - 4 réponses
Posté le 06 juillet 2017 - 17:07
Bonjour à tous,
Je suis en face d'un problème dont j'aimerais avoir une explication. Je travaille avec WinDev 21.

Je lance une requête dans le code avec HExécuteRequêteSQL. Je copie exactement la même requête dans l'outil Centre de Contrôle HFSQL et je l'exécute (Bouton GO). Les deux requêtes donnent des résultats différents. En effet les résultats donnés par la fonction HExécuteRequêteSQL ne sont pas complètes en ce sens que certaines données qui respectent les paramètres de la requête sont ignorées tandis que l'exécution de la requête dans le Centre de Contrôle HFSQL donne le bon résultat avec toutes les données.
Ci-dessous un aperçu de la requête:
" SELECT CODEFIN,CODCATG, SUM(Montant) FROM COSTAB WHERE CODEPROJ='1' GROUP BY CODEFIN,CODCATG"
Membre enregistré
250 messages
Popularité : +1 (1 vote)
Posté le 07 juillet 2017 - 10:41
Bonjour,
de prime abord, si le code est identique, je penserais que vous accédez à des fichiers différents !!!
si ton fichier est sur le poste de développement, peut être faire une recherche, dans l'explorateur Windows, sur le nom de ton fichier et voir s'il
n'a pas été créé à deux endroits différents ?

c'est une piste.

Cordialement

--
Chouaïb
Posté le 08 juillet 2017 - 11:43
Merci pour votre réponse mais en fait j'ai oublié de préciser que mon application fonctionne en client/serveur. Dans le code, la requête est exécutée sur la base de données de la connexion et c'est sur cette même base de données que j'exécute la requête dans l'Outil Centre de Contrôle HFSQL.
Posté le 13 mai 2020 - 17:12
Hello

Alors je ne sais pas si mon prédécesseur a fini par trouver une réponse mais je rencontre le même problème...
J'ai une requête qui ne donne pas le même résultat sur le centre de contrôle et à l'exécution.

J'ai vérifié la connexion. C'est bien la même base HF C/S des deux côtés (le nom de la connexion est affiché dans le bandeau de l'application).
La requête est simple en soi et le problème vient d'ailleurs car lorsque j'ai voulu vérifier les connexions j'ai comparé le nombre d'enregistrements d'une table... et ils ne sont pas pareils :o
Je me suis dit que c'était peut-être les index donc j'ai procédé à une réparation sur la base HF C/S depuis le centre de contrôle, pas de changement.
Je me suis demandé s'il n'y avait pas un filtre quelconque d'activé sur cette même table donc j'ai fait un HDesactiveFiltre dessus. Pas d'erreur mais pas de changement non plus.
Je suis le seul utilisateur à accéder aux données car je suis sur ma base de dév.

Là je sèche... Est-ce que quelqu'un a déjà rencontré ce problème ?
C'est pas ma première application, loin s'en faut, mais première fois que je vois ça.
Membre enregistré
1 144 messages
Popularité : +50 (142 votes)
Posté le 03 juin 2020 - 09:57
Bonjour,

J'ai rencontré le même problème, et c'était dû à une connexion différente à la base de données. Je ne vois que ça comme explication.
Pour être sûr, je supprimerai la connexion de l'éditeur d'analyse pour voir ce qui se passe à l'exécution.

--
Thierry TILLIER
Développeur Windev-Webdev
Formation Windev : https://coursdinfo.teachable.com/
Formation bureautique : https://coursdinfo.net