Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD11-14] HyperFileSQL ?

5 réponses
Avatar
mat
Bonjour,

Je suis resté à la version 10 de Windev. Cette version a des
comportements que je considère des lacunes de la partie SQL de HF.
N'ayant rien vue dans les présentations des versions 11 et 12, et non
plus dans l'annonce des nouveautés de la version 14, j'aimerais
comprendre si ces comportements existent encore en WD12, et dans
l'affirmatif, si quelqu'un aurait vue des changements pour WD14.

1) Les contraintes définies dans l'analyse ne sont respectés que par
les requêtes lancés avec hExécuteRequête (via paramètres), mais pas
avec les requêtes SQL dynamiques lancés par hExécuteRequêteSQL. Avec
hExecuteRequeteSQL on peut ajouter autant d'enregistrements qu'on veut
ayant le même ID dans une rubrique à clé unique; on peut supprimer des
enregistrements relationnels que hSupprime ne touche pas, et les
suppressions en cascade ne fonctionnent par conséquence non plus.

2) On ne peut savoir si une commande SQL réussit car la valeur
vrai/faux retournée par hExecuteRequete... ne se réfère qu'à la
syntaxe. Donc, le retour "vrai" sur une requête "DELETE..." ne veut pas
dire que quelque chose a été supprimé. La même chose s'applique à
INSERT et UPDATE. Donc l'utilité de ces commandes est pour l'instant
très limitée pour moi.

3) Avec le paramètre hAvecTransaction on peut s'assurer que toutes les
modifications d'une requête UPDATE, DELETE et probablement aussi
INSERT, lancée par hExécuteRequête (pas la version SQL) sont exécutés
ou aucune. Or, HF y arrive en bloquant toutes les enregistrements
concernés en écriture ET en lecture. Je n'ai pas d'expérience avec des
verrous en lecture car je les comprends dans le sens qu'une autre
requête ne voit plus ces enregistrements verrouillés. Dans mes
applications cette fonction est alors inutilisable. Je ne comprends pas
ce blocage en lecture d'enregistrements déjà présents dans un fichier.


Merci pour vos lumières.

5 réponses

Avatar
Firetox
Bonjour,

2) On ne peut savoir si une commande SQL réussit car la valeur vrai/faux
retournée par hExecuteRequete... ne se réfère qu'à la syntaxe. Donc, le
retour "vrai" sur une requête "DELETE..." ne veut pas dire que quelque
chose a été supprimé. La même chose s'applique à INSERT et UPDATE. Donc
l'utilité de ces commandes est pour l'instant très limitée pour moi.



je te rassure en C++ aussi le Exec renvoi vrai si la requete est correcte
mais ne donne pas sur un update le nombre de lignes impactées et ce n'est
pas que HF avec mySQL idem
sur les SGBD il existe des process premettant de le faire mais sur mySQL par
exemple c'est uniquement a partir de la 5 en 3.23 quand tu faisait un update
il ne renvoyait pas le nombre de lignes modifiées a l'epoque sur mySQL comme
pour le blocage avant l'update il y a un select for update qui pouvait lui
te donner le nombre de lignes qui allaient être modifiées
Avatar
mat
Firetox wrote on 18.11.2008 :
...

je te rassure en C++ aussi le Exec renvoi vrai si la requete est correcte
mais ne donne pas sur un update le nombre de lignes impactées et ce n'est pas
que HF avec mySQL idem


...

merci pour cette info. J'ai probablement mal exprimé mon souci. En fait
un DELETE qui s'effectue ne m'intéresse pas vraiment. Ce qui
m'intéresse est un echec, p.ex. parce qu'un enregistrement est bloqué
par un autre poste,
Avatar
mat
Personne ne fait des requêtes UPDATE, DELETE avec WD12 / HF et pourrait
partager son expérience?

Merci d'avance
Avatar
Dc
Bjr,

mat a présenté l'énoncé suivant :
Personne ne fait des requêtes UPDATE, DELETE avec WD12 / HF et pourrait
partager son expérience?

Merci d'avance



Ben non.
si tu utilises hyperfile, pourquoi n'utilises-tu pas les les commandes
H..... ?
Perso je ne me sers du SQL que pour des requetes Select .
Comme pas mal d'autres, je pense.

a plus


--
-------------------------------------------------------------
www.ctc-soft.com
Gestion biblo-documentaire (free-share)
Comptabilité shareware
Logiciels de Gestion de saisie terrain
Spécialisé Tournées de boulangers
-------------------------------------------------------------
Avatar
mat
Dc wrote on 23.11.2008 :
...
Ben non.
si tu utilises hyperfile, pourquoi n'utilises-tu pas les les commandes
H..... ?
Perso je ne me sers du SQL que pour des requetes Select .
Comme pas mal d'autres, je pense.


...

c'est ce que je fais maintenant, je n'ai pas le choix. Il se veut que
j'aime utiliser les requête SQL dynamiques et je préfère un seul type
d'accès aux données. Et puisque le produit s'appelle maintenant
HyperFileSQL je pensait qu'il y avait une chance...

Par ailleurs, j’avais oublié les sous-requêtes imbriquées qui ont
disparu avec WD9. Je me demande si ça fonctionne de nouveau en WD12 ou
s'il faut toujours contourner
http://groups.google.com/group/fr.comp.developpement.agl.windev/search?q=sous-requ%C3%AAte+imbriqu%C3%A9es&start=0&scoring=d&
(3e résultat)

Bon, il semble que je vais devoir essayer de tester tout ça avec
WD12Express.