|
Iniciado por christophe.charron, jul., 05 2005 7:13 PM - 7 respostas |
| |
| | | |
|
| |
Publicado em julho, 05 2005 - 7:13 PM |
Bonsoir, Est-ce que le message suivant parle pour quelqu'un ?
"La requête <Requete_ComptageCA> n'a pas été préparée ni exécutée au préalable. La réexécution de la requête n'est pas possible. Vous devez spécifier un code SQL."
La requete en question, testée dans l'éditeur de requête fonctionne, ainsi que dans MySQL Query Browser !! Elle ne me semble pas trop compliquée pourtant : "select 1 as selection,count(*) as nombre,chiffredaffaires from MP group by chiffredaffaires,selection order by nombre desc"
Question subsidiaire : je suis particulièrement maladroit ou est-t'il bien impossible de lancer des requêtes avec HExécuteRequêteSQL dans des threads, toujours avec l'accès natif MySQL de PC-Soft?
-- Cordialement Christophe Charron
PROLOGIQ 7 bis Rue des Aulnes 69410 Champagne au Mont d'Or
Tel : 0 437 499 107 Fax : 0 437 499 105 mailto:christophe.charron@prologiq.fr |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 05 2005 - 7:32 PM |
Bonjour,
Avez-vous essayé d'utiliser le paramètre hRequêteSansCorrection à votre requête ? Egalement quelle commande utilisez vous ? HExecuteRequête() ou HexecuteRequêteSQL().
Concernant les thread, cela fonctionne bien, je vous laisse donc choisir la réponse.
-- Ed en Ligne
"Christophe Charron" <christophe.charron@prologiq.fr> a écrit dans le message de news: 42ca98d8$1@news.pcsoft.fr...
Bonsoir, Est-ce que le message suivant parle pour quelqu'un ?
"La requête <Requete_ComptageCA> n'a pas été préparée ni exécutée au préalable. La réexécution de la requête n'est pas possible. Vous devez spécifier un code SQL."
La requete en question, testée dans l'éditeur de requête fonctionne, ainsi que dans MySQL Query Browser !! Elle ne me semble pas trop compliquée pourtant : "select 1 as selection,count(*) as nombre,chiffredaffaires from MP group by chiffredaffaires,selection order by nombre desc"
Question subsidiaire : je suis particulièrement maladroit ou est-t'il bien impossible de lancer des requêtes avec HExécuteRequêteSQL dans des threads, toujours avec l'accès natif MySQL de PC-Soft?
-- Cordialement Christophe Charron
PROLOGIQ 7 bis Rue des Aulnes 69410 Champagne au Mont d'Or
Tel : 0 437 499 107 Fax : 0 437 499 105 mailto:christophe.charron@prologiq.fr
|
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 06 2005 - 10:09 AM |
Bonjour, et merci, d'abord de répondre avant que je ne pose la question (ptr), et ensuite de vous pencher sur mon problème. Ce que j'ai refait ce matin et en enlevant le 's' surnuméraire au "sélections" du group by, ça va beaucoup mieux !!!! Par contre, les threads plantent toujours !! soit : //Code du bouton2 ThreadExécute("EffectifsCompte",threadNormal,Pf_Compte_Effectif_A) ThreadExécute("CACompte",threadNormal,Pf_Compte_CA) Trace("LE threads effectif a été lancé")
et PROCEDURE Pf_Compte_CA() vl_c_Requete est une chaîne vl_c_Requete = [ select 1 as selection,Count(*) as nombre,chiffredaffaires from MP group by chiffredaffaires,selection order by nombre desc ] SI PAS HExécuteRequêteSQL("reqcompteca",va_c_nomcon,hRequêteSansCorrection,vl_c_Requete) ALORS Erreur(HErreurInfo(hErrComplet)) RETOUR FIN FichierVersTableMemoire(c_a_CA,"reqcompteca")
et
PROCEDURE Pf_Compte_Effectif_A() vl_c_Requete est une chaîne vl_c_Requete = [ select 1 as selection,Count(*) as nombre,effectif from MP group by effectif,selection order by nombre desc ] SI PAS HExécuteRequêteSQL("reqcompteeffectifA",va_c_nomcon,hRequêteSansCorrection,vl_c_Requete) ALORS Erreur(HErreurInfo(hErrComplet)) RETOUR FIN FichierVersTableMemoire(c_a_Effectifs,"reqcompteeffectifA") Trace("Fin A")
Plante avec le message suivant :
Erreur à la ligne 18 du traitement Procédure locale Pf_Compte_Effectif_A. Vous avez appelé la fonction FichierVersTableMemoire. L'objet reqcompteeffectifA n'a pas été trouvé. |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 06 2005 - 11:23 AM |
Bonjour,
Ce n'est la requête qui pose problème mais l'utilisation de FichierVerstableMémoire(). Vous ne pouvez pas utiliser dans un thread secondaire des commandes de gestion de l'écran, affichage, table, etc.
Le contexte Hyper File du thread principal et donc du champ table est différent de celui du thread. La requête n'est pas générée dans le thread principal et donc pas dans celui de la table.
-- Ed en Ligne
"Christophe Charron" <christophe.charron@prologiq.fr> a écrit dans le message de news: 42cb6ae0$1@news.pcsoft.fr...
Bonjour, et merci, d'abord de répondre avant que je ne pose la question (ptr), et ensuite de vous pencher sur mon problème. Ce que j'ai refait ce matin et en enlevant le 's' surnuméraire au "sélections" du group by, ça va beaucoup mieux !!!! Par contre, les threads plantent toujours !! soit : //Code du bouton2 ThreadExécute("EffectifsCompte",threadNormal,Pf_Compte_Effectif_A) ThreadExécute("CACompte",threadNormal,Pf_Compte_CA) Trace("LE threads effectif a été lancé")
et PROCEDURE Pf_Compte_CA() vl_c_Requete est une chaîne vl_c_Requete = [ select 1 as selection,Count(*) as nombre,chiffredaffaires from MP group by chiffredaffaires,selection order by nombre desc ] SI PAS HExécuteRequêteSQL("reqcompteca",va_c_nomcon,hRequêteSansCorrection,vl_c_Requete) ALORS Erreur(HErreurInfo(hErrComplet)) RETOUR FIN FichierVersTableMemoire(c_a_CA,"reqcompteca")
et
PROCEDURE Pf_Compte_Effectif_A() vl_c_Requete est une chaîne vl_c_Requete = [ select 1 as selection,Count(*) as nombre,effectif from MP group by effectif,selection order by nombre desc ] SI PAS HExécuteRequêteSQL("reqcompteeffectifA",va_c_nomcon,hRequêteSansCorrection,vl_c_Requete) ALORS Erreur(HErreurInfo(hErrComplet)) RETOUR FIN FichierVersTableMemoire(c_a_Effectifs,"reqcompteeffectifA") Trace("Fin A")
Plante avec le message suivant :
Erreur à la ligne 18 du traitement Procédure locale Pf_Compte_Effectif_A. Vous avez appelé la fonction FichierVersTableMemoire. L'objet reqcompteeffectifA n'a pas été trouvé.
|
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 06 2005 - 1:23 PM |
Soit, soit ... Mais si je remplace le fichierverstablememoire par un trace, j'ai le même problème...
-- Cordialement Christophe Charron |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 06 2005 - 1:34 PM |
Re-Bonjour,
Trace utilise également le contexte HF du thread principal.
-- Ed en Ligne
"Christophe Charron" <christophe.charron@prologiq.fr> a écrit dans le message de news: 42cb985d$1@news.pcsoft.fr...
Soit, soit ... Mais si je remplace le fichierverstablememoire par un trace, j'ai le même problème...
-- Cordialement Christophe Charron
|
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 06 2005 - 2:59 PM |
Je m'en doutais un peu, en fait je le savais !! J'ai trop vite répondu, j'ai donc fait l'essai suivant, en alimantant des chaines déclarées en global au niveau de la fenêtre et voila le message d'erreur :
Erreur à la ligne 20 du traitement Procédure locale Pf_Compte_Effectif_A. Le mécanisme de sécurité Hyper File s'est déclenché lors d'un parcours intégré du fichier 'reqcompteeffectifA' sur la rubrique ''. Erreur de l'accès natif MySQL. Numéro d'erreur = 22 L'erreur suivante a été renvoyée par la base données <localhost> : Numéro d'erreur = <2013>. Message d'erreur : Lost connection to MySQL server during query ...
L'un ou l'autre de groupe, avec threadUtiliseHyperFile ou threadNormal plantent de la même manière !
ThreadExécute("EffectifsCompte",threadUtiliseHyperFile,Pf_Compte_Effectif_A) ThreadExécute("CACompte",threadUtiliseHyperFile,Pf_Compte_CA)
ThreadExécute("EffectifsCompte",threadNormal,Pf_Compte_Effectif_A) ThreadExécute("CACompte",threadNormal,Pf_Compte_CA)
PROCEDURE Pf_Compte_Effectif_A() vf_b_Thread_effectifs = Vrai vf_c_Chaine_effectifs = "" vl_c_Requete est une chaîne vl_c_Requete = [ select 1 as selection,Count(*) as nombre,effectif as effectif from MP group by effectif,selection order by nombre desc ] SI PAS HExécuteRequêteSQL("reqcompteeffectifA",va_c_nomcon,hRequêteSansCorrection,vl_c_Requete) ALORS Erreur(HErreurInfo(hErrComplet)) RETOUR FIN POUR TOUT "reqcompteeffectifA" vf_c_Chaine_effectifs+={"reqcompteeffectifA.selection"}+TAB+{"reqcompteeffectifA.nombre"}+TAB+{"reqcompteeffectifA.effectif"}+TAB+RC FIN ////pf_alimente_effectifs() //trace("Fin A") vf_b_Thread_effectifs = Faux
PROCEDURE Pf_Compte_CA() vf_b_Thread_CA = Vrai vf_c_Chaine_CA = "" vl_c_Requete est une chaîne vl_c_Requete = [ select 1 as selection,Count(*) as nombre,chiffredaffaires as chiffredaffaires from MP group by chiffredaffaires,selection order by nombre desc ] SI PAS HExécuteRequêteSQL("reqcompteca",va_c_nomcon,hRequêteSansCorrection,vl_c_Requete) ALORS Erreur(HErreurInfo(hErrComplet)) RETOUR FIN POUR TOUT "reqcompteca" vf_c_Chaine_CA+={"reqcompteca.selection"}+TAB+{"reqcompteca.nombre"}+TAB+{"reqcompteca.chiffredaffaires"}+TAB+RC FIN //trace("Fin compte ca") vf_b_Thread_CA = Faux //pf_alimente_CA() |
| |
| |
| | | |
|
| | |
| |
Publicado em julho, 07 2005 - 10:50 AM |
Bonjour,
vous n'avez pas d'idée sur mes threads qui génèrent cette erreur ?
Erreur à la ligne 20 du traitement Procédure locale Pf_Compte_Effectif_A. Le mécanisme de sécurité Hyper File s'est déclenché lors d'un parcours intégré du fichier 'reqcompteeffectifA' sur la rubrique ''. Erreur de l'accès natif MySQL. Numéro d'erreur = 22
L'erreur suivante a été renvoyée par la base données <localhost> : Numéro d'erreur = <2013>. Message d'erreur : Lost connection to MySQL server during query ...
-- Cordialement Christophe Charron |
| |
| |
| | | |
|
| | | | |
| | |
|