OVH Cloud OVH Cloud

[WD8] HExécuteRequêteSQL() en réseau

11 réponses
Avatar
Real Phil
Bonjour,

ReqClient est une source de données
HExécuteRequêteSQL(ReqClient,"SELECT NOM FROM CLIENT WHERE condition ")

La question est pour ceux qui travaillent en réseau.
L'aide mentionne « Si une requête de même nom est déjà déclarée, elle est
remplacée par la nouvelle requête. »
Je présume que l'aide veut dire par le même poste mais je veux en être
certain.

Alors comment Windev gère-t-il cela quand plusieurs postent appellent cette
même requête en même temps? Gère-t-il cela automatiquement ou si le
programmeur doit remplacer lui-même le nom ReqClient par un nom différent à
chaque poste?

Certains langages gèrent cela eux même de la façon suivante; si on exécute
« Select * from Client into cursor MonTmp » le fichier manipulé dans le
programme est toujours MonTmp mais sur le disque dur chaque poste génère un
fichier physique avec un nom numérique différent (dans le genre de
86152438.tmp) qui est relié automatiquement à leurs MonTmp individuels. On a
donc pas à se soucier de cela en réseau.

Pouvez-vous me dire comment Windev gère cette situation?

Merci à l'avance.

Réal Phil

1 réponse

1 2
Avatar
mat
sebNews wrote:
3) Le contexte HF indépendant garanti que les données ne changent pas
pour des requêtes utilisant des sources de données du même nom. Dans le
test, après C) la table de Fenêtre1 donne toujours les produits.

En fin de compte, la même chose que pour les requêtes ordinaires.




Je n'utilise pas le contexte HF indépendant ( je ne sais pas se cache
derrière
mais j'imagine ; des Hsauveposition et Hretourposition ( voir version 5.5B)

Cela veut dire que en arrière plan, les contexte sont rétablis dans tes
fichiers.
Et si ta source de données inclus plusieurs fichiers avec jointures cela
peut provoquer un ralentissement non ?



non, je ne crois pas que c'est cela. Mon petit test montre qu'avec un
contexte HF indépendant on peut changer carrément la source des données
dans une fenêtre sans influencer une de même nom dans une autre
fenêtre. Sans contexte HF indépendant, chaque redéfinition de la source
de données la change pour toutes les variables de même nom dans le projet.

En fin de compte, le contexte indépendant est seulement important si on
travaille avec les mêmes données dans des fenêtres ou états différents
et que ces fenêtres risques être ouvertes au même temps. Car si elle le
sont et le contexte HF n'est pas indépendant, les données seront très
probablement faux dans une des fenêtres.

Je suppose c'est comparable aux curseurs obtenus par HAlias/HChangeNom
ce qui donne également un accès indépendant aux mêmes données. Cela ne
ralenti non plus le programme.
1 2