IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JDBC Java Discussion :

invalid handle: kesako?


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut invalid handle: kesako?
    Bon j'ai une methode qui plante lors de sa seconde execution:

    Cette methode me permet de remplir un Jtable de maniere dynamique en fonction de ce que saisit l'utilisateur (combobox, etc...). A chaque execution elle construit une requete dynamique et interroge la BD pour mettre à jour les info affichées.

    La premiere fois tout fonctionne bien mais dès la seconde j'ai une erreur invalid handle.
    public void remplissage(int col, String orderStatut){

    int IdTypeEnt=fMere.cmb_TypeEnt.getIndex();//ici je choppe des info sur un combo box
    int IdPays=fMere.cmb_Pays.getIndex();
    String nomEnt=fMere.getNomEnt();//ici d'un txtbox


    //On vide avant de remplir
    _modele.vidage();//je vide le modele de mon JTAble
    mySql="SELECT * FROM Rqy_grid_frm_firm_list WHERE 1=1 ";

    //Definition de la requete
    if(nomEnt!="")
    mySql=mySql+" AND raisonsociale LIKE '%" + nomEnt + "%'";
    if (IdTypeEnt !=0)
    mySql=mySql+ " AND IdTypeEntreprise="+IdTypeEnt;
    if (IdPays !=0)
    mySql=mySql+ " AND pays.id="+IdPays;

    //le tri sur la colonne
    switch(col){

    case 1:
    mySql+=" ORDER BY Adr";
    break;
    case 2:
    mySql+=" ORDER BY Ville";
    break;
    case 3:
    mySql+=" ORDER BY pays.libelle";
    break;
    default:
    mySql+=" ORDER BY RaisonSociale";
    break;
    }
    //l'ordre
    mySql+=orderStatut;



    try{
    ResultSet MyRes=fMere.DM.st.executeQuery(mySql);//st correspond a mon Statement definit comme ceci:st = maCon.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);

    MyRes.first(); //Mise au depart du curseur
    //Boucle de remplissage
    while(MyRes.isAfterLast()==false){
    ajouteLigne(MyRes.getString(1),MyRes.getString(2),
    MyRes.getString(3),MyRes.getString(4),
    MyRes.getString(5));


    MyRes.next();
    }

    }catch(SQLException sqle){
    System.err.println("erreur d'execution : "+sqle);
    }

    }
    Alors: qu'est ce que j'ai faut? et qu'est ce que invalid handle?

  2. #2
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par ataya
    Bon j'ai une methode qui plante lors de sa seconde execution:

    Cette methode me permet de remplir un Jtable de maniere dynamique en fonction de ce que saisit l'utilisateur (combobox, etc...). A chaque execution elle construit une requete dynamique et interroge la BD pour mettre à jour les info affichées.

    La premiere fois tout fonctionne bien mais dès la seconde j'ai une erreur invalid handle.


    Alors: qu'est ce que j'ai faut? et qu'est ce que invalid handle?
    Je crois, mais je suis pas sûr que tu peut utiliser seulement une fois un statement, c'est à dire éxécuter une requête par statement, donc il faut qu'à chaque fois tu créée un nouveau statement et non pas que tu utilises toujours le même.

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut
    Et bien en fait c'est ce que je faisait au debut et ca marchait tres bien..enfin relativement bien. le probleme c'est qu'en utilisant plusieurs statements, on a un problème de concurrence entre statements genre:

    si je fait de manière sequentielle les ordres suivants:

    1/ Statement1.execute(ordreSQL1);

    2/Statement2.execute(ordreSQL2);

    Lors de la deuxieme étape, rien ne garanti que l'ordeSQL1 soit pris en compte, en fait c'est meme certain qu'il peut ne pas l'etre, c'est pour cette raison que je souhaitait n'utiliser qu'un seul statement: afin d'etre sur, lors de l'execution d'une requete, que la requete precedente à bien finie d'étre executée.

  4. #4
    Membre confirmé Avatar de Satch
    Homme Profil pro
    Hypnothérapeute - Magicien
    Inscrit en
    Mars 2004
    Messages
    498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Hypnothérapeute - Magicien

    Informations forums :
    Inscription : Mars 2004
    Messages : 498
    Points : 645
    Points
    645
    Par défaut
    Citation Envoyé par ataya
    c'est pour cette raison que je souhaitait n'utiliser qu'un seul statement: afin d'etre sur, lors de l'execution d'une requete, que la requete precedente à bien finie d'étre executée.
    C'est pas plutôt une seule transaction que tu devrais utiliser ?

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 94
    Points : 68
    Points
    68
    Par défaut
    Heu...je sait pas, qu'est ce qu'une transaction en java?

    Merci de m'éclairer.

  6. #6
    Candidat au Club
    Inscrit en
    Mai 2007
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 3
    Points : 4
    Points
    4
    Par défaut remerciemenent
    merci wichtounet

    probleme resolue grâce a votre reponse

Discussions similaires

  1. [Généralités] Handle is in an invalid state
    Par Lo² dans le forum WinDev
    Réponses: 4
    Dernier message: 24/01/2012, 10h52
  2. OpenProcess renvoie Invalid Process Handle
    Par ktsys dans le forum C++
    Réponses: 2
    Dernier message: 31/07/2007, 12h07
  3. Invalid transaction handle (expecting explicit transaction start)
    Par WebPac dans le forum Bases de données
    Réponses: 9
    Dernier message: 25/06/2007, 18h04
  4. Réponses: 2
    Dernier message: 23/05/2007, 11h02
  5. dbExpress error: Invalid handle
    Par lassmust dans le forum Bases de données
    Réponses: 1
    Dernier message: 14/11/2006, 12h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo