OVH Cloud OVH Cloud

[WD75] : SQL & Hyperfile

24 réponses
Avatar
Sam \(au boulot\)
Bonjour,

Nous avons un soucis avec un parcours SQL sur un table. On a beau regarder,
modifier, tester... rien à faire pour trouver.

On a une requête sur une table HF qui ne retourne pas toujours le même
nombre d'enregistrements. Table ou index corrompu ? ET non, on le reproduit
sur différentes bases de données.

En fait la requête est tu style SELECT... WHERE...ORDER BY créée
automatiquement en fonction de saisies utilisateurs (critères de recherche).
Et la plupart des requêtes produites fonctionnent. Mais un cas, l'un des
plus simples (!), donne des requltats farfelus.

Avec WDSQL le fonctionnement de la requête est correct. Par exemple ma
requête me donne 705 lignes, systématiquement. Avec le programme Windev ça
donne... 145...153... 667... au hasard (note : toujours moins que ce qu'il
faut). Aucune erreur produite par SQLExec ou pendant le parcours. Les
données produites sont correctes, c'est le nombre d'enregistrement qui n'est
pas bon.

Par contre en supprimant le ORDER BY j'ai systématiquement les bonnes
données ?!? Ou en changeant la chause WHERE pour une recherche sur d'autres
critères, le comportement redevient normal !!!!!!!!

La requête "délirante" n'est pas bien méchante. J'ai tenté quelques
variations de syntaxe (sans changer la sémantique), mais sans succès.
Histoire de montrer comme c'est trivial :

SELECT
DEC,CCG,NJL,NPOL,PIECE,MTTOT,LET,DLET,TOPPCLI,DTOPPCLI,PCIE,DPAIEM,NOQUIT,EC
CLEUNIK,CIE,LIB,DEBUTECHE,FINECHE,NSINIST,CODE_PORTEF FROM ECRITURE
WHERE ECRITURE.DEC >= '20040401' And ECRITURE.DEC <= '20040405'
ORDER BY ECRITURE.DEC


Pire... j'ai découvert qu'en testant le programme avec WDSQL ouvert ma
requête me donnait systémtiquement 704 ou 705 enregistrements. C'est pas
tout à fait correct mais on note que le comportement est légèrement moins
fantaisiste. Je referme WDSQL... et là on a à nouveau n'importe quoi comme
nombre d'enregistrements trouvés ! Les deux programmes interférent :o(

Ceci est reproduisible sur plusieurs environnement, en dev et en
exploitation. Le code de parcours est trivial et a été relus par 3
personnes. Modifié à plusieurs reprises pour tenter de changer le
comportement. Fermeture forcée de tout les fichiers avant, reconnection SQL
à HF toute fraîche, etc... rien à faire.

Alors là je demande de l'aide, ou une info sur un bug potentiel sur Windev
75 (206h) dans SQLExec ou SQLFetch ? Un bug peu présent si c'est le cas, nos
autres requêtes des autres programmes semblent fonctionner.

Merci d'avance.

10 réponses

1 2 3
Avatar
mat
Sam (au boulot) wrote:

Bonjour,

Nous avons un soucis avec un parcours SQL sur un table. On a beau regarder,
modifier, tester... rien à faire pour trouver.

On a une requête sur une table HF qui ne retourne pas toujours le même
nombre d'enregistrements. Table ou index corrompu ? ET non, on le reproduit
sur différentes bases de données.

En fait la requête est tu style SELECT... WHERE...ORDER BY créée
automatiquement en fonction de saisies utilisateurs (critères de recherche).
Et la plupart des requêtes produites fonctionnent. Mais un cas, l'un des
plus simples (!), donne des requltats farfelus.

Avec WDSQL le fonctionnement de la requête est correct. Par exemple ma
requête me donne 705 lignes, systématiquement. Avec le programme Windev ça
donne... 145...153... 667... au hasard (note : toujours moins que ce qu'il
faut). Aucune erreur produite par SQLExec ou pendant le parcours. Les
données produites sont correctes, c'est le nombre d'enregistrement qui n'est
pas bon.

Par contre en supprimant le ORDER BY j'ai systématiquement les bonnes
données ?!? Ou en changeant la chause WHERE pour une recherche sur d'autres
critères, le comportement redevient normal !!!!!!!!

La requête "délirante" n'est pas bien méchante. J'ai tenté quelques
variations de syntaxe (sans changer la sémantique), mais sans succès.
Histoire de montrer comme c'est trivial :

SELECT
DEC,CCG,NJL,NPOL,PIECE,MTTOT,LET,DLET,TOPPCLI,DTOPPCLI,PCIE,DPAIEM,NOQUIT,EC
CLEUNIK,CIE,LIB,DEBUTECHE,FINECHE,NSINIST,CODE_PORTEF FROM ECRITURE
WHERE ECRITURE.DEC >= '20040401' And ECRITURE.DEC <= '20040405'
ORDER BY ECRITURE.DEC




Nous utilisons la même technique, mais avec HExecuteRequêteSQL, et
n'avons pas constaté de problèmes avec la sélection par fourchette de
dates. Deux remarques:

1) les interférences viennent probablement du fait que vous n'avez pas
choisi "Contexte Hyperfile indépendant" dans l'onglet "Détail" de la
fenêtre. Ceci est indispensable si le logiciel permet d'utiliser les
mêmes données dans plusieures fenêtres (mêmes ou autres, fichier filtré
ou requêtes).

2) Dans nos programmes, il n'y a jamais une date comme critère unique. A
mon avis, le traitement de dates dans Windev n'est pas toujours évident.
Elles sont traités le plus souvent comme des chaines sans vraiment
l'être. En plus, les requêtes ne se comportent pas toujours comme prévu.
Alors j'essayerais de refaire la requête avec un critère de séléction et
de trie additionnel qui ne gêne pas celui des dates. P.ex s'il s'agit
d'une compta, en utilisant le numéro de pièce en sélectionnant tous et
l'incluant dans le trie après la date. Je suis certain qu'il se trouvera
une solution à ce problème.
Avatar
Phil
"Sam (au boulot)" a écrit dans le message de
news:c7skdp$gee$
Bonjour,

Nous avons un soucis avec un parcours SQL sur un table. On a beau


regarder,
modifier, tester... rien à faire pour trouver.

Histoire de montrer comme c'est trivial :

SELECT



DEC,CCG,NJL,NPOL,PIECE,MTTOT,LET,DLET,TOPPCLI,DTOPPCLI,PCIE,DPAIEM,NOQUIT,EC
CLEUNIK,CIE,LIB,DEBUTECHE,FINECHE,NSINIST,CODE_PORTEF FROM ECRITURE
WHERE ECRITURE.DEC >= '20040401' And ECRITURE.DEC <= '20040405'
ORDER BY ECRITURE.DEC

Alors là je demande de l'aide, ou une info sur un bug potentiel sur Windev
75 (206h) dans SQLExec ou SQLFetch ? Un bug peu présent si c'est le cas,


nos
autres requêtes des autres programmes semblent fonctionner.

Merci d'avance.


--------------------------------------------------------------------------
Bonjour,

Nous avons déjà eu un problème identique avec SQL utilisé en Foxpro.

Le problème a été réglé en utilisant BETWEEN au lieu des opérateurs
habituels.

Votre requete SQL deviendrait donc;

SELECT
DEC,CCG,NJL,NPOL,PIECE,MTTOT,LET,DLET,TOPPCLI,DTOPPCLI,PCIE,DPAIEM,NOQUIT,EC
CLEUNIK,CIE,LIB,DEBUTECHE,FINECHE,NSINIST,CODE_PORTEF FROM ECRITURE
WHERE ECRITURE.DEC BETWEEN '20040401' AND '20040405'
ORDER BY ECRITURE.DEC

En espérant que cela règle votre problème.

Cordialement,

Réal Philippon
Programmation Ultra
Avatar
Sam \(au boulot\)
Pour le premier point, nous avons des HSauvePosition(). Cela dis cette
requête n'est pas imbriquée dans un traitement qui aurait déjà ouvert le
fichier en question. Bien tenté, on s'est déjà fait avoir avec ça ;o)

Finalement le code a été changé. Le comportement ésotérique s'étant
poursuivi, pour info en ajoutant un SQLInfoGene (pour obtenir certaines
infos après la requête) et un Multitâche dans le parcours (pour permettre un
refresh de la fenêtre lors de lecture de gros volumes), là ça fonctionne !
Magique non ? L'ordre de tri a aussi été changé, ce qui a réglé le pb.

Mais sur le fond ce n'est pas rassurant, ça fait "loterie".


1) les interférences viennent probablement du fait que vous n'avez pas
choisi "Contexte Hyperfile indépendant" dans l'onglet "Détail" de la
fenêtre. Ceci est indispensable si le logiciel permet d'utiliser les
mêmes données dans plusieures fenêtres (mêmes ou autres, fichier filtré
ou requêtes).

2) Dans nos programmes, il n'y a jamais une date comme critère unique. A
mon avis, le traitement de dates dans Windev n'est pas toujours évident.
Elles sont traités le plus souvent comme des chaines sans vraiment
l'être. En plus, les requêtes ne se comportent pas toujours comme prévu.
Alors j'essayerais de refaire la requête avec un critère de séléction et
de trie additionnel qui ne gêne pas celui des dates. P.ex s'il s'agit
d'une compta, en utilisant le numéro de pièce en sélectionnant tous et
l'incluant dans le trie après la date. Je suis certain qu'il se trouvera
une solution à ce problème.


Avatar
mat
Sam (au boulot) wrote:

Pour le premier point, nous avons des HSauvePosition(). Cela dis cette
requête n'est pas imbriquée dans un traitement qui aurait déjà ouvert le
fichier en question. Bien tenté, on s'est déjà fait avoir avec ça ;o)

Finalement le code a été changé. Le comportement ésotérique s'étant
poursuivi, pour info en ajoutant un SQLInfoGene (pour obtenir certaines
infos après la requête) et un Multitâche dans le parcours (pour permettre un
refresh de la fenêtre lors de lecture de gros volumes), là ça fonctionne !
Magique non ? L'ordre de tri a aussi été changé, ce qui a réglé le pb.

Mais sur le fond ce n'est pas rassurant, ça fait "loterie".



Les requêtes n'ont jamais été un point fort de Windev. Si j'ai bien
compris, la version 8 n'est pas très différente de la 7.5 et celle-ci
est plutôt pauvre comparé à d'autres produits dans le marché (même des
produits vieux). Mais on peut vivre avec et dans votre case je crois il
y a quelque part un problème réproductible, c'est à dire qu'on peut
créer un contournement qui est solide.

Pour le "contexte hyperfile indépendant" je ne crois pas que nous nous
sommes compris. Pour autant que je sache, HSauvePosition n'a rien à voir
là dedans puisque ça permet uniquement de sauver le numéro
d'enregistrement et la clé de parcours d'un fichier. Ca ne touche pas à
la source des données. J'avais compris qu'en ayant ouvert WDSQL, le
programme donnait à peu près le résultat juste. C'est parce que le
programme utilise, dans ce cas précis, la même source de donnée (c'est à
dire un résultat de requête ou fichier filtré) si la fenêtre n'utilise
pas un contexte indépendant.
Avatar
bob.ion
Non mais quelle idée !!!!!!

Etant donné les bugs dans la version 8 de Windev, personnellement je
conseille aux programmeurs de s'abstenir. Ou bien alors d'attendre la
fin de l'année 2004.

Les mises à jours ne sont pas encore "à jour" !!!

J'ai la triste impression que chez PCSOFT, ils n'ont pas encore eu le
temps de lister tous les bugs de la version 8 !!! (juste de les
lister, je ne parle même pas de les corriger)

Je n'ai pas le temps de donner une liste détaillée de tous ceux que
j'ai rencontré mais un de ces jours j'ouvrirai un forum intitulé:

"Le compendium des bugs de Windev 8 ou l'art de dégouter
définitivement les gens de l'informatique."

Ne parlons même pas des problèmes de conversions entre les différentes
versions que les développeurs ont rencontré jusqu'à aujourd'hui ... Je
suis passé sur d'autres messages dans Google Group qui ne laisse rien
présager de bon pour le passage Windev 8 à Windev 9. Dire que Windev
doit bien avoir 10 ans et n'est toujours pas arrivé à maturité.

Si j'avais su, jamais, mais alors jamais je ne serais passé sur
Windev.

Dire qu'il m'aurait suffit de faire "Windev vs Net" , "Windev vs JAVA"
, "Windev vs VB" , "Windev vs n'importe quoi" pour me rendre
compte...

Stupide que j'ai été...

Sans compter que Windev et Corba, Windev et Java, Windev et Net, ....
la blague ! On ne peut pratiquement rien en faire...






Jean Marc wrote in message news:...
Bonjour SAM,

Indépendamment de votre problème ponctuel, je ne comprends pas votre logique.
Apparamment vous avez un gros projet en Windev 7.5, et vous restez collé à cette
7,5 au lieu de passer en 8, qui a apporté des évolutions sensibles en terme de
fonctionnalités et de performance.
Dans le cadre d'un gros projet, le profiler est vraiment fondamental, et l'outil
qui vérifie les clés des requêtes devient vite indispensable.
Nos utilisateurs ont apprécié également les évolution de la prévisu des états,
et demandent maintenant des séparateurs dans toutes les fenêtres !
On a tous vécu l'épisode douloureux de la 7.0, mais bon, ce n'est pas parce
qu'on a vécu Windows 98 ou Me qu'il ne faut pas passer en XP aujourd'hui.

Je pense que votre 'entêtement' à vouloir rester en 7.5 vous est préjudiciable,
bien au dela des quelques centaines d'euros d'une mise à jour. Vous perdez cet
argent à mon avis chaque jour ou chaque semaine.
La stratégie d'une entreprise ou d'un projet ne devrait pas se baser sur un
ressentiment d'une époque qui, il faut le reconnaitre, est en plus maintenant
révolue.

Voila, je voulai simplement livrer mon avis, vu de l'extérieur.
Bien entendu vous êtes 100% maitre de vos décisions, mais vu de l'extérieur,
j'ai du regret pour vos utilisateurs, et pour vous qui restez dans cet
environnement de la précédente génération.

Bien cordialement,
Jean Marc


Avatar
Gégé
bob wrote:
Je n'ai pas le temps de donner une liste détaillée de tous ceux que
j'ai rencontré mais un de ces jours j'ouvrirai un forum intitulé:
"Le compendium des bugs de Windev 8 ou l'art de dégouter
définitivement les gens de l'informatique."


Attention au procés !

Ne parlons même pas des problèmes de conversions entre les différentes
versions que les développeurs ont rencontré jusqu'à aujourd'hui ... Je
suis passé sur d'autres messages dans Google Group qui ne laisse rien
présager de bon pour le passage Windev 8 à Windev 9. Dire que Windev
doit bien avoir 10 ans et n'est toujours pas arrivé à maturité.


Peux-tu citer tes sources ?

Si j'avais su, jamais, mais alors jamais je ne serais passé sur
Windev.


Pourquoi avoir suivi une formation alors ?
Avatar
Roumegou
bob a exprimé avec précision :
Non mais quelle idée !!!!!!

Etant donné les bugs dans la version 8 de Windev, personnellement je
conseille aux programmeurs de s'abstenir. Ou bien alors d'attendre la
fin de l'année 2004.


Et voilà un vilain troller qui repointe son nez.
[CUT]

"Le compendium des bugs de Windev 8 ou l'art de dégouter
définitivement les gens de l'informatique."




Bof, j'aurais au moins appris un mot

Ne parlons même pas des problèmes de conversions entre les différentes
versions que les développeurs ont rencontré jusqu'à aujourd'hui ... Je
suis passé sur d'autres messages dans Google Group qui ne laisse rien
présager de bon pour le passage Windev 8 à Windev 9.



il a meme un troll d'avance dit donc, il est fort celui là lol

--
Eric Roumégou
http://cerbermail.com/?TSoulBerPA
(cliquez sur le lien ci-dessus pour me contacter en privé)
Avatar
Gilles Balp
Et c'est reparti... comme en 14, pourtant c'est pas en Novembre les
commémorations de la grande guerre ?

"bob" a écrit dans le message de
news:
Non mais quelle idée !!!!!!

Etant donné les bugs dans la version 8 de Windev, personnellement je
conseille aux programmeurs de s'abstenir. Ou bien alors d'attendre la
fin de l'année 2004.

Les mises à jours ne sont pas encore "à jour" !!!

J'ai la triste impression que chez PCSOFT, ils n'ont pas encore eu le
temps de lister tous les bugs de la version 8 !!! (juste de les
lister, je ne parle même pas de les corriger)

Je n'ai pas le temps de donner une liste détaillée de tous ceux que
j'ai rencontré mais un de ces jours j'ouvrirai un forum intitulé:

"Le compendium des bugs de Windev 8 ou l'art de dégouter
définitivement les gens de l'informatique."

Ne parlons même pas des problèmes de conversions entre les différentes
versions que les développeurs ont rencontré jusqu'à aujourd'hui ... Je
suis passé sur d'autres messages dans Google Group qui ne laisse rien
présager de bon pour le passage Windev 8 à Windev 9. Dire que Windev
doit bien avoir 10 ans et n'est toujours pas arrivé à maturité.

Si j'avais su, jamais, mais alors jamais je ne serais passé sur
Windev.

Dire qu'il m'aurait suffit de faire "Windev vs Net" , "Windev vs JAVA"
, "Windev vs VB" , "Windev vs n'importe quoi" pour me rendre
compte...

Stupide que j'ai été...

Sans compter que Windev et Corba, Windev et Java, Windev et Net, ....
la blague ! On ne peut pratiquement rien en faire...






Jean Marc wrote in message


news:...
> Bonjour SAM,
>
> Indépendamment de votre problème ponctuel, je ne comprends pas votre


logique.
> Apparamment vous avez un gros projet en Windev 7.5, et vous restez collé


à cette
> 7,5 au lieu de passer en 8, qui a apporté des évolutions sensibles en


terme de
> fonctionnalités et de performance.
> Dans le cadre d'un gros projet, le profiler est vraiment fondamental, et


l'outil
> qui vérifie les clés des requêtes devient vite indispensable.
> Nos utilisateurs ont apprécié également les évolution de la prévisu des


états,
> et demandent maintenant des séparateurs dans toutes les fenêtres !
> On a tous vécu l'épisode douloureux de la 7.0, mais bon, ce n'est pas


parce
> qu'on a vécu Windows 98 ou Me qu'il ne faut pas passer en XP


aujourd'hui.
>
> Je pense que votre 'entêtement' à vouloir rester en 7.5 vous est


préjudiciable,
> bien au dela des quelques centaines d'euros d'une mise à jour. Vous


perdez cet
> argent à mon avis chaque jour ou chaque semaine.
> La stratégie d'une entreprise ou d'un projet ne devrait pas se baser sur


un
> ressentiment d'une époque qui, il faut le reconnaitre, est en plus


maintenant
> révolue.
>
> Voila, je voulai simplement livrer mon avis, vu de l'extérieur.
> Bien entendu vous êtes 100% maitre de vos décisions, mais vu de


l'extérieur,
> j'ai du regret pour vos utilisateurs, et pour vous qui restez dans cet
> environnement de la précédente génération.
>
> Bien cordialement,
> Jean Marc


Avatar
William
bonsoir

--

joindreWilliam at hotmail.com en instantanée


"bob" a écrit dans le message de
news:

Si j'avais su, jamais, mais alors jamais je ne serais passé sur
Windev.




si vous n'en voulez plus je veux bien récuperer votre 8.0.....
Mon adresse est dans la signature
Avatar
bob.ion
Un procès !!! Ò mon Dieu !!!

Au fait gégé, comment c'est passé ton procès ?


--------------------------------
Message n° 1 de ce fil
De :Gérard Menvussa ()
Objet :[Bruit] Achat de WD7




View this article only
Groupes de discussion :fr.comp.developpement.agl.windev
Date :2002-04-16 01:26:06 PST




Je compte acheter Windev. Or désormais, seule la v.7 est disponible.


Vu le
nombre de bogues, j'ai peur de me lancer dans un projet risqué.
Si on achète Windev 7, le CD possède t-il également la v.5.5 ?
Et si oui peut-on l'utiliser ?
Merci de vos réponses...


---------------------------------------------

"Peux-tu citer tes sources ?"

Hé bien, avec toi ça en fait déjà une !

Ton expérience ne prouve-t-elle pas que d'attendre au moins 6 mois est
un choix judicieux !

Personnellement, mon expérience me suggère de s'abstenir d'utiliser
autre chose que:

Kobol, Ada, C, C++, JAVA, C Sharp

A la limite VB parce qu'on en trouve partout et que Microsoft s'entend
bien avec lui meme.

A la limite Turtle pour les débutants ou pour ceux qui ont le sens de
l'humour.

--------------------------------------------

"Pourquoi avoir suivi une formation alors ?"

ça fait trois mois que je fais du Windev, mais mes collègues ont
commencé avant moi et ils arrêtent pas d'hurler.

Remarque que c'est une exigence de mon employeur, mais ne t'en fais
pas, je suis à la recherche d'un autre job parceque avec Windev,
personnellement je ne m'amuse pas.

Un certain nombre de développeurs apprécient ce produit,
malheureusement ce n'est pas mon cas (ni celui de mes collègues).

Remarque que les développeurs sur Windev sont plus rare que dans
d'autres langages, ce n'est peut-être pas pour rien.

Remarque égalemement que mon boss ne développe pas sur Windev, hélas.

--------------------------------------------

Aujourd'hui, il fait beau, il fait chaud, je vais plutot aller à la
piscine plutot que de faire le tour des Group de Google pour créer mon
Compendium (en plus des bugs que j'ai recenssés).

Mais si ça peut te redonner le sourir Gégé, pour l'instant, les bugs
que je n'ai pas rencontrés sont:
- Je n'est jamais perdu mon projet.
- Ma base de données fonctionne encore.
- Mon ordi fonctionne encore

Les bugs rencontrés ne sont pas mortels, mais ils sont chiants à
loisir et me frustre dans ma création. (en plus des limites inhérente
au produit)

PCSOFT ferait meilleur temps d'établir une liste exhaustive des bugs,
on serait peut-être moins dégouté.

Si tu t'ennuies GéGé, n'hésite pas à continuer la discussion que tu as
précédement eu:


----------------------------------------------

De :titou44 (titou44(marreduspam)@freesurf.fr)
Objet :Re: [WD7.5 206g] bug impression : au secours


View this article only
Groupes de discussion :fr.comp.developpement.agl.windev
Date :2004-03-12 01:50:51 PST


bonjour

non pas en réseau.
il semble que ce soit lié à des imprimantes HP.
je continue à souffrir

titou44(marreduspam)@freesurf.fr

"Gege" a écrit dans le message de news:


Tes imprimantes sont en réseau ?

--
Ce message a été posté via la plateforme Web club-Internet.fr
This message has been posted by the Web platform club-Internet.fr


-------------------------------

Nul n'a jamais apporté une réponse à ceux malheureux.

Peut-être est-il mort ? Quelle fin tragique.

Si titou lit ces lignes, sache que personnellement, quand je programme
avec Windev, j'hésite souvent à me jeter par la fenêtre.

Hélas, nos locaux sont aux rez de chaussé.

--------------------------------------------------------

Merci à :

Roumegou ()
Gilles Balp ()

de prendre mes propos avec un peu plus d'humour.
--------------------------------------------------------------

"un projet risqué"

Au fait Gégé, c'etait quoi pour toi à l'époque, un projet risqué ?
(la réponse peut être amusante)

-------------------------

A une prochaine, à moins que j'ai décroché un autre job d'ici là.



-----------------------
Gégé wrote in message news:<ca9l2u$sn9$...
bob wrote:
> Je n'ai pas le temps de donner une liste détaillée de tous ceux que
> j'ai rencontré mais un de ces jours j'ouvrirai un forum intitulé:
> "Le compendium des bugs de Windev 8 ou l'art de dégouter
> définitivement les gens de l'informatique."
Attention au procés !

> Ne parlons même pas des problèmes de conversions entre les différentes
> versions que les développeurs ont rencontré jusqu'à aujourd'hui ... Je
> suis passé sur d'autres messages dans Google Group qui ne laisse rien
> présager de bon pour le passage Windev 8 à Windev 9. Dire que Windev
> doit bien avoir 10 ans et n'est toujours pas arrivé à maturité.
Peux-tu citer tes sources ?

> Si j'avais su, jamais, mais alors jamais je ne serais passé sur
> Windev.
Pourquoi avoir suivi une formation alors ?


1 2 3