Re: Erreur ConstruitTablefichier | Sujet: Re: Erreur ConstruitTablefichier par drcharly93 sur 17/11/2006 10:41:55
Bonjour,
Dans ce cas je vais te proposer une astuce. la technique consiste dans un premier temp et en dehors du trhead à créer le tableau qui va recevoir les données via la fonction ConstruitTableFichier() mais sans la remplir. On a constaté que l'execution de la fonction HExceuteRequeteSql etait très rapide cette action peut être réalisé en dehors du thread secondaire
Reste plus qua intégrer le remplissage de table dans un thread secondaire.
//Code du bouton
gsdsqlvue est une Source de Données
Sql est une chaîne
Sql = "gsdsqlvue,hRequêteDéfaut,"SELECT * FROM BIG_FILE"
//Execution de la requête pour construire la table
SI PAS HExécuteRequêteSQL(gsdsqlvue,Cnx,hRequêteDéfaut,Sql) ALORS
Erreur(HErreurInfo())
RETOUR
FIN
ConstruitTableFichier(Table1,gsdsqlvue)
//Remplissage via un thread
ThreadExécute("THREADNAME",threadUtiliseHyperFile,"pExecReq",Table1..Nom,Sql)
PROCEDURE pExecReq(pTable est une chaîne, pSql est une chaîne)
Rsl est une Source de Données
i est un entier
sBuff est une chaîne
SI PAS HExécuteRequêteSQL(Rsl,hRequêteDéfaut,pSql) ALORS
Erreur(HErreurInfo())
RETOUR
FIN
//On rempli la table
POUR TOUS Rsl
//On récupère les donnees d'un enregistrement
sBuff = HRécupèreEnregistrement(Rsl,TAB)
TableAjoute(pTable,sBuff)
FIN
Avec cette methode vous pouvez meme ajouter une jauge pour le remplissage de la table et ce a partir du thread
|
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|