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 :

Le preparedStatement m'enregistre qu'une seule image


Sujet :

JDBC Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut Le preparedStatement m'enregistre qu'une seule image
    Bonjour,
    Je veux enregistrer de mon appli en base un objet qui contient des champs de type string et 3 champs de type InputStream.
    j'ai regardé sur le net et j'ai constate que pas mal de gents utilise Le prepared statement pour cela.
    Mon problème c'est qu'il m'enregistre tout les champs de type String et un seul chams image pas les deux autres. Je ne comprends absolument rien ...

    .......
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
            sql = "insert into t_annonce (ID, SSTHEME, TITRE, CONTENU,PHOTOPR, PHOTOSC1, PHOTOSC2) values (?,?,?,?,?,?,?)";
            connection = getConnection();
            PreparedStatement ps = connection.prepareStatement(sql);
     
            try 
            {
                ps.setString(1, annonce.getId());
                ps.setString(2,annonce.getSsTheme() );
                ps.setString(5,annonce.getTitre() );
                ps.setString(6, annonce.getContenu());
                ps.setBinaryStream(8, annonce.getPhotopr());
                ps.setBinaryStream(9, annonce.getPhotosc1());
                ps.setBinaryStream(10, annonce.getPhotosc2());
             ps.executeUpdate();
    .......

    J'ai besoin de votre aide,
    Merci,

  2. #2
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534
    Par défaut
    D'apres ton SQL command il y a 7 parametres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sql = "insert into t_annonce (ID, SSTHEME, TITRE, CONTENU,PHOTOPR, PHOTOSC1, PHOTOSC2) values (?,?,?,?,?,?,?)";
    Et ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    ps.setString(1, annonce.getId());
    ps.setString(2,annonce.getSsTheme() );
    ps.setString(5,annonce.getTitre() );
    ps.setString(6, annonce.getContenu());
    ps.setBinaryStream(8, annonce.getPhotopr());
    ps.setBinaryStream(9, annonce.getPhotosc1());
    ps.setBinaryStream(10, annonce.getPhotosc2());
    Il faut mettre les parametres dans l'ordre 1,2,...7

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut
    Merci pour la réponse,
    Mais en fait, c'est pas ce que j'ai mis dans mon code.
    c'est parsque j'écrivais ça rapidement,

    mon code c'est celui-la :

    ps.setString(1, annonce.getId());
    ps.setString(2,annonce.getSsTheme() );
    ps.setString(3,annonce.getTitre() );
    ps.setString(4, annonce.getContenu());
    ps.setBinaryStream(5, annonce.getPhotopr());
    ps.setBinaryStream(6, annonce.getPhotosc1());
    ps.setBinaryStream(7, annonce.getPhotosc2());

    Merci pour toute réponse ! je suis preneur

  4. #4
    Membre chevronné
    Inscrit en
    Juillet 2006
    Messages
    534
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 534

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 5
    Par défaut
    salu,
    j'ai jeté un coup d'oeil, mais malheureusement ya pas ce que je cherche !
    merci,

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Comment sont définis tes champs dans la base de données ?
    Quelle base de données ?

    Tu utilises quelle implémentation du PreparedStatement ?
    Normalement, tu devrais avoir un 3ème paramètre "longueur" avec le setBinaryStream(idx, stream, length);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. enregistrer la carte en une seule image en code
    Par nl20121974 dans le forum IGN API Géoportail
    Réponses: 2
    Dernier message: 15/05/2013, 11h55
  2. Réponses: 2
    Dernier message: 29/03/2006, 16h36
  3. plusieurs enregistrements dans une seul ligne
    Par Celelibi dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/01/2005, 15h55
  4. Insérer plusieurs enregistrements en une seule requête
    Par pyd001 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 26/02/2004, 10h38

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