.=2E.ou bien exection d'une autre trop lente, c'est au choix!
Je m'explique,
En fait je travaille en local sur une BD access.
Disons que j'ai une premiere page qui contient elle meme une grille qui
contient une liste d'entreprises, appellons cette page frm_liste.
Une deuxieme page qui contient, les informations d=E9taill=E9es d'une
entreprise pr=E9cise: appellons cette page frm_entreprise.
En cliquant sur une ligne de la grillle de frm_liste, on ferme
frm_liste et on ouvre frm_entreprise
Frm_entreprise contient un bouton valider qui lance l'enregistrement
des donn=E9es de Frm_entreprise dans la base de donn=E9es, ferme
frm_entreprise et reouvre frm_liste.
J'espere avoir =E9t=E9 clair dans la description...
Entrons dans le detail des action qui suivent l'appui sur le bouton
valider:
_1/ Il lance l'enregistrement des donn=E9es dans la BD
_2/ Il ferme frm_entreprise
_3/ Il ouvre frm_liste
_4/ Il interroge la BD pour avoir de quoi alimenter la grille
Mon probleme est le suivant: les donn=E9e cr=E9es ou modifi=E9es =E0
l'=E9tape 1/ ne sont pas repercut=E9es lorsqu'il effectue l'=E9tape 4/.
Apres avoir cherch=E9, j'ai compris que c'=E9tait un probleme de
rapidit=E9 d'execution. En effet la 4/ semble beaucoup plus rapide que
la 1/, ainsi le resultat de la 4/ ne contient pas encore les resultats
de la 1/.
Comment j'en suis sur?
En fait j'ai ajout=E9 une =E9tape (d=E9bile mais efficace) entre l'=E9tape
1/ et 2/:
Cette =E9tape =E0 pour unique objectif de 'perdre' du temps avant de
passer =E0 l'=E9tape /2.
for(int i=3D0; i<400000000; i++){
int x=3D1;
}
Et l=E0 ca marche! ...mais c'est laid comme solution non?
dans l'article , Ataya à a écrit le 23/10/06 13:14 :
...ou bien exection d'une autre trop lente, c'est au choix!
Je m'explique,
En fait je travaille en local sur une BD access.
Disons que j'ai une premiere page qui contient elle meme une grille qui contient une liste d'entreprises, appellons cette page frm_liste. Une deuxieme page qui contient, les informations détaillées d'une entreprise précise: appellons cette page frm_entreprise.
En cliquant sur une ligne de la grillle de frm_liste, on ferme frm_liste et on ouvre frm_entreprise
Frm_entreprise contient un bouton valider qui lance l'enregistrement des données de Frm_entreprise dans la base de données, ferme frm_entreprise et reouvre frm_liste.
J'espere avoir été clair dans la description...
Entrons dans le detail des action qui suivent l'appui sur le bouton valider:
_1/ Il lance l'enregistrement des données dans la BD _2/ Il ferme frm_entreprise _3/ Il ouvre frm_liste _4/ Il interroge la BD pour avoir de quoi alimenter la grille
Mon probleme est le suivant: les donnée crées ou modifiées à l'étape 1/ ne sont pas repercutées lorsqu'il effectue l'étape 4/.
Apres avoir cherché, j'ai compris que c'était un probleme de rapidité d'execution. En effet la 4/ semble beaucoup plus rapide que la 1/, ainsi le resultat de la 4/ ne contient pas encore les resultats de la 1/.
Comment j'en suis sur? En fait j'ai ajouté une étape (débile mais efficace) entre l'étape 1/ et 2/: Cette étape à pour unique objectif de 'perdre' du temps avant de passer à l'étape /2.
for(int i=0; i<400000000; i++){ int x=1; }
Et là ca marche! ...mais c'est laid comme solution non?
Je reste donc en attente de vos propositions.
ne pas interroger la bd avant la fin de l'enregistrement :-)
Un simple probleme de synchronisation.
dans l'article 1161602076.222558.129880@i3g2000cwc.googlegroups.com, Ataya à
teisseire.sebastien@gmail.com a écrit le 23/10/06 13:14 :
...ou bien exection d'une autre trop lente, c'est au choix!
Je m'explique,
En fait je travaille en local sur une BD access.
Disons que j'ai une premiere page qui contient elle meme une grille qui
contient une liste d'entreprises, appellons cette page frm_liste.
Une deuxieme page qui contient, les informations détaillées d'une
entreprise précise: appellons cette page frm_entreprise.
En cliquant sur une ligne de la grillle de frm_liste, on ferme
frm_liste et on ouvre frm_entreprise
Frm_entreprise contient un bouton valider qui lance l'enregistrement
des données de Frm_entreprise dans la base de données, ferme
frm_entreprise et reouvre frm_liste.
J'espere avoir été clair dans la description...
Entrons dans le detail des action qui suivent l'appui sur le bouton
valider:
_1/ Il lance l'enregistrement des données dans la BD
_2/ Il ferme frm_entreprise
_3/ Il ouvre frm_liste
_4/ Il interroge la BD pour avoir de quoi alimenter la grille
Mon probleme est le suivant: les donnée crées ou modifiées à
l'étape 1/ ne sont pas repercutées lorsqu'il effectue l'étape 4/.
Apres avoir cherché, j'ai compris que c'était un probleme de
rapidité d'execution. En effet la 4/ semble beaucoup plus rapide que
la 1/, ainsi le resultat de la 4/ ne contient pas encore les resultats
de la 1/.
Comment j'en suis sur?
En fait j'ai ajouté une étape (débile mais efficace) entre l'étape
1/ et 2/:
Cette étape à pour unique objectif de 'perdre' du temps avant de
passer à l'étape /2.
for(int i=0; i<400000000; i++){
int x=1;
}
Et là ca marche! ...mais c'est laid comme solution non?
Je reste donc en attente de vos propositions.
ne pas interroger la bd avant la fin de l'enregistrement :-)
dans l'article , Ataya à a écrit le 23/10/06 13:14 :
...ou bien exection d'une autre trop lente, c'est au choix!
Je m'explique,
En fait je travaille en local sur une BD access.
Disons que j'ai une premiere page qui contient elle meme une grille qui contient une liste d'entreprises, appellons cette page frm_liste. Une deuxieme page qui contient, les informations détaillées d'une entreprise précise: appellons cette page frm_entreprise.
En cliquant sur une ligne de la grillle de frm_liste, on ferme frm_liste et on ouvre frm_entreprise
Frm_entreprise contient un bouton valider qui lance l'enregistrement des données de Frm_entreprise dans la base de données, ferme frm_entreprise et reouvre frm_liste.
J'espere avoir été clair dans la description...
Entrons dans le detail des action qui suivent l'appui sur le bouton valider:
_1/ Il lance l'enregistrement des données dans la BD _2/ Il ferme frm_entreprise _3/ Il ouvre frm_liste _4/ Il interroge la BD pour avoir de quoi alimenter la grille
Mon probleme est le suivant: les donnée crées ou modifiées à l'étape 1/ ne sont pas repercutées lorsqu'il effectue l'étape 4/.
Apres avoir cherché, j'ai compris que c'était un probleme de rapidité d'execution. En effet la 4/ semble beaucoup plus rapide que la 1/, ainsi le resultat de la 4/ ne contient pas encore les resultats de la 1/.
Comment j'en suis sur? En fait j'ai ajouté une étape (débile mais efficace) entre l'étape 1/ et 2/: Cette étape à pour unique objectif de 'perdre' du temps avant de passer à l'étape /2.
for(int i=0; i<400000000; i++){ int x=1; }
Et là ca marche! ...mais c'est laid comme solution non?
Je reste donc en attente de vos propositions.
ne pas interroger la bd avant la fin de l'enregistrement :-)
Un simple probleme de synchronisation.
Ataya
Oui en effet...dans ce cas comment savoir QUAND l'enregistrement est terminé?
Oui en effet...dans ce cas comment savoir QUAND l'enregistrement est
terminé?
Oui en effet...dans ce cas comment savoir QUAND l'enregistrement est terminé?
TestMan
...ou bien exection d'une autre trop lente, c'est au choix!
Je m'explique,
En fait je travaille en local sur une BD access.
Disons que j'ai une premiere page qui contient elle meme une grille qui contient une liste d'entreprises, appellons cette page frm_liste. Une deuxieme page qui contient, les informations détaillées d'une entreprise précise: appellons cette page frm_entreprise.
En cliquant sur une ligne de la grillle de frm_liste, on ferme frm_liste et on ouvre frm_entreprise
Frm_entreprise contient un bouton valider qui lance l'enregistrement des données de Frm_entreprise dans la base de données, ferme frm_entreprise et reouvre frm_liste.
J'espere avoir été clair dans la description...
Entrons dans le detail des action qui suivent l'appui sur le bouton valider:
_1/ Il lance l'enregistrement des données dans la BD _2/ Il ferme frm_entreprise _3/ Il ouvre frm_liste _4/ Il interroge la BD pour avoir de quoi alimenter la grille
Mon probleme est le suivant: les donnée crées ou modifiées à l'étape 1/ ne sont pas repercutées lorsqu'il effectue l'étape 4/.
Apres avoir cherché, j'ai compris que c'était un probleme de rapidité d'execution. En effet la 4/ semble beaucoup plus rapide que la 1/, ainsi le resultat de la 4/ ne contient pas encore les resultats de la 1/.
Comment j'en suis sur? En fait j'ai ajouté une étape (débile mais efficace) entre l'étape 1/ et 2/: Cette étape à pour unique objectif de 'perdre' du temps avant de passer à l'étape /2.
for(int i=0; i<400000000; i++){ int x=1; }
Et là ca marche! ...mais c'est laid comme solution non?
Je reste donc en attente de vos propositions.
Pouvez vous postez un exemple de code concis démontrant la difficulté rencontrez ?
A+ TM
...ou bien exection d'une autre trop lente, c'est au choix!
Je m'explique,
En fait je travaille en local sur une BD access.
Disons que j'ai une premiere page qui contient elle meme une grille qui
contient une liste d'entreprises, appellons cette page frm_liste.
Une deuxieme page qui contient, les informations détaillées d'une
entreprise précise: appellons cette page frm_entreprise.
En cliquant sur une ligne de la grillle de frm_liste, on ferme
frm_liste et on ouvre frm_entreprise
Frm_entreprise contient un bouton valider qui lance l'enregistrement
des données de Frm_entreprise dans la base de données, ferme
frm_entreprise et reouvre frm_liste.
J'espere avoir été clair dans la description...
Entrons dans le detail des action qui suivent l'appui sur le bouton
valider:
_1/ Il lance l'enregistrement des données dans la BD
_2/ Il ferme frm_entreprise
_3/ Il ouvre frm_liste
_4/ Il interroge la BD pour avoir de quoi alimenter la grille
Mon probleme est le suivant: les donnée crées ou modifiées à
l'étape 1/ ne sont pas repercutées lorsqu'il effectue l'étape 4/.
Apres avoir cherché, j'ai compris que c'était un probleme de
rapidité d'execution. En effet la 4/ semble beaucoup plus rapide que
la 1/, ainsi le resultat de la 4/ ne contient pas encore les resultats
de la 1/.
Comment j'en suis sur?
En fait j'ai ajouté une étape (débile mais efficace) entre l'étape
1/ et 2/:
Cette étape à pour unique objectif de 'perdre' du temps avant de
passer à l'étape /2.
for(int i=0; i<400000000; i++){
int x=1;
}
Et là ca marche! ...mais c'est laid comme solution non?
Je reste donc en attente de vos propositions.
Pouvez vous postez un exemple de code concis démontrant la difficulté
rencontrez ?
...ou bien exection d'une autre trop lente, c'est au choix!
Je m'explique,
En fait je travaille en local sur une BD access.
Disons que j'ai une premiere page qui contient elle meme une grille qui contient une liste d'entreprises, appellons cette page frm_liste. Une deuxieme page qui contient, les informations détaillées d'une entreprise précise: appellons cette page frm_entreprise.
En cliquant sur une ligne de la grillle de frm_liste, on ferme frm_liste et on ouvre frm_entreprise
Frm_entreprise contient un bouton valider qui lance l'enregistrement des données de Frm_entreprise dans la base de données, ferme frm_entreprise et reouvre frm_liste.
J'espere avoir été clair dans la description...
Entrons dans le detail des action qui suivent l'appui sur le bouton valider:
_1/ Il lance l'enregistrement des données dans la BD _2/ Il ferme frm_entreprise _3/ Il ouvre frm_liste _4/ Il interroge la BD pour avoir de quoi alimenter la grille
Mon probleme est le suivant: les donnée crées ou modifiées à l'étape 1/ ne sont pas repercutées lorsqu'il effectue l'étape 4/.
Apres avoir cherché, j'ai compris que c'était un probleme de rapidité d'execution. En effet la 4/ semble beaucoup plus rapide que la 1/, ainsi le resultat de la 4/ ne contient pas encore les resultats de la 1/.
Comment j'en suis sur? En fait j'ai ajouté une étape (débile mais efficace) entre l'étape 1/ et 2/: Cette étape à pour unique objectif de 'perdre' du temps avant de passer à l'étape /2.
for(int i=0; i<400000000; i++){ int x=1; }
Et là ca marche! ...mais c'est laid comme solution non?
Je reste donc en attente de vos propositions.
Pouvez vous postez un exemple de code concis démontrant la difficulté rencontrez ?
A+ TM
Ataya
Heu...je pensait avoir bien expliqué mon problème...
En fait ce n'est pas un probleme de code, c'est un probleme de vitesse d'execution de requete.
A toutes fin utiles je joint le code qui interroge la BD pour la liste d'entreprise: DM correspond a une instance de l'objet DataManager (voir code ci dessous)
public void remplissage(int col, String orderStatut){ // On vide avant de remplir _modele.vidage();
mySql="SELECT * FROM Rqy_grid_Jf_Entreprise_ctc WHERE IdEntreprise="+fMere.idEnt;
// le tri sur la colonne switch(col){
case 1: mySql+=" ORDER BY TypeContact.libelle"; break; case 2: mySql+=" ORDER BY IdPersonne"; break;
default: mySql+=" ORDER BY IdPersonne"; break; } //l'ordre mySql+=orderStatut;
//Ensuite on execute puis on remplis la grille fMere.DM.open(); //Ouverture ResultSet MyRes = fMere.DM.GetRs(mySql); //executuion du rs
try{ MyRes.first(); //Mise au depart du curseur //Boucle de remplissage while(MyRes.isAfterLast()=úlse){ ajouteLigne(MyRes.getString(1),MyRes.getString(2), MyRes.getString(3));
public void execute(String SQL){ open(); try{ System.out.println("la requete est: "+SQL); st.executeUpdate(SQL); }catch(SQLException sqle){ System.err.println("erreur d'execution : "+sqle); } close();
}
public ResultSet GetRs(String Sql){ //rec=null;//on s'assure d'avoir un rec vide //open(); try{ System.out.println("la requete est: "+Sql); rec = st.executeQuery(Sql);
public String absoluteString(String S){ String resultat="";
for(int i=0; i<(S.length()); i++){ //int y="'"; if(S.charAt(i)=='''){ resultat+=''';//on double le caractère pour echappement suos access resultat+=S.charAt(i);
}else{ resultat+=S.charAt(i); } }
return resultat; }
Heu...je pensait avoir bien expliqué mon problème...
En fait ce n'est pas un probleme de code, c'est un probleme de vitesse
d'execution de requete.
A toutes fin utiles je joint le code qui interroge la BD pour la liste
d'entreprise:
DM correspond a une instance de l'objet DataManager (voir code ci
dessous)
public void remplissage(int col, String orderStatut){
// On vide avant de remplir
_modele.vidage();
mySql="SELECT * FROM Rqy_grid_Jf_Entreprise_ctc WHERE
IdEntreprise="+fMere.idEnt;
// le tri sur la colonne
switch(col){
case 1:
mySql+=" ORDER BY TypeContact.libelle";
break;
case 2:
mySql+=" ORDER BY IdPersonne";
break;
default:
mySql+=" ORDER BY IdPersonne";
break;
}
//l'ordre
mySql+=orderStatut;
//Ensuite on execute puis on remplis la grille
fMere.DM.open(); //Ouverture
ResultSet MyRes = fMere.DM.GetRs(mySql); //executuion du rs
try{
MyRes.first(); //Mise au depart du curseur
//Boucle de remplissage
while(MyRes.isAfterLast()==false){
ajouteLigne(MyRes.getString(1),MyRes.getString(2),
MyRes.getString(3));
public void execute(String SQL){
open();
try{
System.out.println("la requete est: "+SQL);
st.executeUpdate(SQL);
}catch(SQLException sqle){
System.err.println("erreur d'execution : "+sqle);
}
close();
}
public ResultSet GetRs(String Sql){
//rec=null;//on s'assure d'avoir un rec vide
//open();
try{
System.out.println("la requete est: "+Sql);
rec = st.executeQuery(Sql);
Heu...je pensait avoir bien expliqué mon problème...
En fait ce n'est pas un probleme de code, c'est un probleme de vitesse d'execution de requete.
A toutes fin utiles je joint le code qui interroge la BD pour la liste d'entreprise: DM correspond a une instance de l'objet DataManager (voir code ci dessous)
public void remplissage(int col, String orderStatut){ // On vide avant de remplir _modele.vidage();
mySql="SELECT * FROM Rqy_grid_Jf_Entreprise_ctc WHERE IdEntreprise="+fMere.idEnt;
// le tri sur la colonne switch(col){
case 1: mySql+=" ORDER BY TypeContact.libelle"; break; case 2: mySql+=" ORDER BY IdPersonne"; break;
default: mySql+=" ORDER BY IdPersonne"; break; } //l'ordre mySql+=orderStatut;
//Ensuite on execute puis on remplis la grille fMere.DM.open(); //Ouverture ResultSet MyRes = fMere.DM.GetRs(mySql); //executuion du rs
try{ MyRes.first(); //Mise au depart du curseur //Boucle de remplissage while(MyRes.isAfterLast()=úlse){ ajouteLigne(MyRes.getString(1),MyRes.getString(2), MyRes.getString(3));
public void execute(String SQL){ open(); try{ System.out.println("la requete est: "+SQL); st.executeUpdate(SQL); }catch(SQLException sqle){ System.err.println("erreur d'execution : "+sqle); } close();
}
public ResultSet GetRs(String Sql){ //rec=null;//on s'assure d'avoir un rec vide //open(); try{ System.out.println("la requete est: "+Sql); rec = st.executeQuery(Sql);