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 :

[JDBC]Un tableau de 'PreparedStatement'


Sujet :

JDBC Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 21
    Points : 17
    Points
    17
    Par défaut [JDBC]Un tableau de 'PreparedStatement'
    Salut !
    je travail en JSP / Oracle .

    J'ai besoin d inserer les élements d'une table 'tab' dans ma base de données.
    donc j'ai besoin de parcourire la table et inserer element par element .
    Le probleme est que lorsque je boucle sur 'PrepareStatement ' , il genere uns erreur de 'duplicate variable', car j'utilise le méme identificateur 'stmtp' pour toutes les PrepareStatement.
    donc je crois que je doit utiliser une table de 'PrepareStatement' !
    le probleme est tque je sais pas si j'ai le droit d le faire ? si oui alors comment :
    Merci d'avance !

    [Modéré par Didier] : ajout de tag dans le titre - Les règles du forum Java

  2. #2
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    T'as deux méthodes dans un PreparedStatement qui peuvent t'aider à faire des executions à la chaine :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     void 	clearParameters()
              Clears the current parameter values immediately.
     boolean 	execute()
              Executes the SQL statement in this PreparedStatement object, which may be any kind of SQL statement.
    Tu fais un clearParameters en début de boucle, et un execute avant la fin, ça devrait faire ce que tu souhaites, mais je te conseille de mettre tout ça dans une transaction, afin d'executer l'ensemble d'un coup ( gains en performances )
    K

  3. #3
    Expert éminent

    Avatar de christopheJ
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 600
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 600
    Points : 8 235
    Points
    8 235
    Par défaut
    Bonjour,

    As-tu plusieurs requetes necessaire à la sauvegarde de ta table?
    Il te faut un prepared Statement par requete SQL.
    ensuite tu fais quelque chose du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    PreparedStatement ps= conn.prepareStatement(requete);
    for (int i=0; i<tailleTableau;i++){
      //remplissage du statement avec les elements de la ligne i
      ps.execute();
      ps.clearParameters();
    }
    Si plusieurs requetes sont necessaires, tu rajoutes d'autres PreparedStatement sur le meme principe.

  4. #4
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Oui le clearParameters après l'execute ça marche mieux algorithmiquement hehe
    K

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 21
    Points : 17
    Points
    17
    Par défaut
    Ok ! ça marche !
    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JDBC]Problème avec PreparedStatement
    Par tomca dans le forum JDBC
    Réponses: 15
    Dernier message: 08/07/2005, 13h59
  2. [JDBC]last_insert_id() avec PreparedStatement
    Par tidar dans le forum JDBC
    Réponses: 2
    Dernier message: 04/03/2005, 09h16
  3. Réponses: 6
    Dernier message: 03/12/2004, 16h05
  4. Réponses: 5
    Dernier message: 19/08/2004, 11h11
  5. Réponses: 13
    Dernier message: 10/05/2004, 16h49

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