ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Re: progressbar et sql   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

jeu. 13 août 2015, 10h59
Thierry
atoutfox.public.association

Re: progressbar et sql

Bonjour,
Il faut utiliser le mode asynchrone pour Sqlexec.
Voici un exemple :

LOCAL loTherm
loTherm = NewObject("_thermometer",home()+"ffc/_therm","","Veuillez
patienter..."
)
loTherm.Show
loTherm.Update(0, "En cours d'execution...")
DOEVENTS force

SqlSetProp(hsql,"Asynchronous",.f.)
IF SqlExec(m.hSql,"SELECT count(*) as cnt FROM dossier (nolock)","cnt")<0
    ERROR Message()
ENDIF
lotherm.iBasis=cnt.cnt

SqlSetProp(hsql,"Asynchronous",.t.)
CursorSetProp("FetchSize",1000,0)

IF SqlExec(hsql,"SELECT * FROM dossier (nolock)")<0
    ERROR Message()
ENDIF

LOCAL cnt
DO WHILE SqlExec(hsql)=0
    DOEVENTS
    cnt=CursorGetProp("RecordsFetched")
    loTherm.Update(m.cnttransform(m.cnt) + "/" +TRANSFORM(lotherm.ibasis))
ENDDO

RELEASE loTherm



"RHJ" a écrit dans le message de groupe de discussion :
mqg1da$t7h$1@news.niouzes.net...

bonjour à tous,

Dans mon formulaire quand j'execute sqlexec
par ex: sqlexec(maConnexionHandle,'select * from
matable'
,'monCurseur')


je peux apercevoir dans le statusBar le chargement de monCurseur du type
Enreg:1/reccount() dont reccount() s'incremente jusqu'à la fin du
traitement.

et ma question est, s'il est possible d'utiliser ces valeurs dans un
progressbar (ctl32)
disons que je lance un sqlexec(maconnexionhandle,'select count(*) nb
from matable'
,'cursorNb')
pour avoir le nombre de record.

Une autre chose, j'essayé d'afficher un fichier gif pour contourner le
count(*) et la seconde requête mais pendant de traitement, le gif s'arrête
de bouger quand le sql est en cours. Il y a-t-il aussi une solution pour
cela.
Ma démarche était :

afficher gif
lancer sqlexec()
rafraichir mon tableau
masquer gif

Mon but dans tout cela était d'éviter que l'utilisateur ait une sensation
d'attente et de lenteur pendant un traitement de masse sur un formulaire.
Merci d'avance pour votre aide et contribution.
Cordialement,
Rivo


Journal

RHJ pense que ce message est la bonne réponse ou qu'il est utile
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000016640
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3