OVH Cloud OVH Cloud

Utilisation de SQLTable avec fetch

4 réponses
Avatar
Erwan
Bonjour,

Pour optimiser l'affichage d'une table, je souhaite utiliser la
fonction SQLTable avec le fetch.

Pour cela j'utilise le code suivant :
PROCEDURE RemplitTable()

LOCAL
sz_NomRequete est une cha=EEne
sz_TexteRequete est une cha=EEne


sz_NomRequete =3D "ListeOp"+DonneIdentifiant()
sz_TexteRequete =3D "SELECT CodeModeTransport, LibelleModeTransport "+...
" FROM ModeTransport "+...
" ORDER BY CodeModeTransport;"
SI PAS SQLExec(sz_TexteRequete,sz_NomRequete) ALORS
SQLErreur(sz_TexteRequete,sz_NomRequete)
SQLFerme(sz_NomRequete)
SINON // si pas sqlexec(sz_TexteRequete,sz_NomRequete)
TableSupprimeTout(Table_ModeTransport)
SQLTable(1,sz_NomRequete, Table_ModeTransport)
SQLFerme(sz_NomRequete)
FIN // sinon pas sqlexec(sz_TexteRequete,sz_NomRequete)


Le probleme est que cette requete n'affiche que la premi=E8re ligne. On
voit que la table se rafraichi mais elle n'affiche pas plus d'une
reponse.

Si j'enleve le SQLFerme(), tous les enregistrements sont bien affiches
mais la table se rafraichi (clignotement).

Quelqu'un aurait-il un exemple de code utilisant le SQLTable avec fetch
?

Merci.

Erwan.

4 réponses

Avatar
Pierre BOUSQUET
normal si tu fermes ta source de donnees, ta table (qui est fichier)
n'affiche plus rien.
ta table étant fichier, lorsque tu te deplaces d'une ligne a l'autre, elle
se deplace de la meme facon dans ta requete.
Si tu veux figer le tout il faut passer par une table mémoire (plus long)

"Erwan" a écrit dans le message de
news:
Bonjour,

Pour optimiser l'affichage d'une table, je souhaite utiliser la
fonction SQLTable avec le fetch.

Pour cela j'utilise le code suivant :
PROCEDURE RemplitTable()

LOCAL
sz_NomRequete est une chaîne
sz_TexteRequete est une chaîne


sz_NomRequete = "ListeOp"+DonneIdentifiant()
sz_TexteRequete = "SELECT CodeModeTransport, LibelleModeTransport "+...
" FROM ModeTransport "+...
" ORDER BY CodeModeTransport;"
SI PAS SQLExec(sz_TexteRequete,sz_NomRequete) ALORS
SQLErreur(sz_TexteRequete,sz_NomRequete)
SQLFerme(sz_NomRequete)
SINON // si pas sqlexec(sz_TexteRequete,sz_NomRequete)
TableSupprimeTout(Table_ModeTransport)
SQLTable(1,sz_NomRequete, Table_ModeTransport)
SQLFerme(sz_NomRequete)
FIN // sinon pas sqlexec(sz_TexteRequete,sz_NomRequete)


Le probleme est que cette requete n'affiche que la première ligne. On
voit que la table se rafraichi mais elle n'affiche pas plus d'une
reponse.

Si j'enleve le SQLFerme(), tous les enregistrements sont bien affiches
mais la table se rafraichi (clignotement).

Quelqu'un aurait-il un exemple de code utilisant le SQLTable avec fetch
?

Merci.

Erwan.
Avatar
Erwan
J'utilise une table mémoire et je souhaite accélérer l'affichage.
J'utilise un accès ODBC. Mon analyse n'est absolument pas déclarée
dans Windev.
Avatar
Pierre BOUSQUET
un thread

"Erwan" a écrit dans le message de
news:
J'utilise une table mémoire et je souhaite accélérer l'affichage.
J'utilise un accès ODBC. Mon analyse n'est absolument pas déclarée
dans Windev.
Avatar
Erwan
Ok je vais tenter ça.

Merci.