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 :

mise a jour base de données


Sujet :

JDBC Java

  1. #1
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut mise a jour base de données
    bonjour j'ai un souci avec mon code, je veux extraire les données d'une table pour les ajouter dans une autre table à l'aide d'un update voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ResultSet rset = stmt.executeQuery("SELECT Id_alarm,Nom_site,Date_heure FROM list_alarm" );
     
            while (rset.next()) {
     
            	System.out.println(rset.getString("Id_alarm")+"  "+ rset.getString("Nom_site")+"  "+ rset.getString("Date_heure"));
     
            }
            stmt.executeUpdate("UPDATE `Alarm`  SET `site`='" + rset.getString("Nom_site")+"' WHERE `Id_alarm` = 250");

  2. #2
    Membre confirmé
    Avatar de mhamedbj
    Profil pro
    Inscrit en
    Février 2007
    Messages
    403
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 403
    Points : 554
    Points
    554
    Par défaut
    Bonjour,

    Au lieu de l'executeUpdate, essaye un executeQuery !
    Si on tombe un jour... c'est pour mieux se relever !!
    Take a look

    Mon début de carrière

  3. #3
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    merci je vais essayer ça et je vs tien informer du résultat

  4. #4
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Non executeUpdate est adaptée à l'exécution d'une requête update (ou insert, delete) alors que executeQuery est là pour les select.
    Quel est ton problème? Tu es bien sur que tu as une ligne dans ta table pour l'id 250?
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  5. #5
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    ça coince tjs et voila ce kil affiche comme msg d'eereur apres modification:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    ResultSet rset = stmt.executeQuery("SELECT Id_alarm,Nom_site,Date_heure FROM list_alarm" );
     
            while (rset.next()) {
     
            	System.out.println(rset.getString("Id_alarm")+"  "+ rset.getString("Nom_site")+"  "+ rset.getString("Date_heure"));
     
            }
            stmt.executeQuery("UPDATE `list_alarm`  SET `Nom_site`='"+ rset.getString("Nom_site")+"' WHERE `Id_alarm` = 12000");

    Erreur pendant la connexion
    java.sql.SQLException: After end of result set
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:926)
    at com.mysql.jdbc.ResultSetImpl.checkRowPos(ResultSetImpl.java:815)
    at com.mysql.jdbc.ResultSetImpl.getStringInternal(ResultSetImpl.java:5528)
    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5448)
    at com.mysql.jdbc.ResultSetImpl.getString(ResultSetImpl.java:5488)
    at tableau.<init>(tableau.java:41)
    at tableau.main(tableau.java:65)

  6. #6
    in
    in est déconnecté
    Membre expérimenté Avatar de in
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 612
    Points : 1 718
    Points
    1 718
    Par défaut
    Normal, tu parcours tout ton resultSet dans le while. Du coup tu es "en dehors" quand tu appelles le execute update ... (enfin quand tu appelles getString() en fait)
    "If email had been around before the telephone was invented, people would have said, 'Hey, forget email! With this new telephone invention I can actually talk to people!"

    Besoin d'une nouvelle méthode pour développer ? -> http://www.la-rache.com/

  7. #7
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    oui ya une ligne dans cette table, mon problème est de savoir est ce que c'est correcte d'écrire : SET `Nom_site`='" + rset.getString("Nom_site")+"'

    ou bien il ya une autre fonction pour ce genre de traitement

  8. #8
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    oui quand j'appele getString je suis en dehors de la boucle, il doit avoir dans getString la dernière valeur parcouru, c'est cette valeur que je veux récupéré et l'utiliser dans l'update...

  9. #9
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Dans ce cas tu peux la "sauvegarder" dans une variable String
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ResultSet rset = stmt.executeQuery("SELECT Id_alarm,Nom_site,Date_heure FROM list_alarm" );
    String valeur ="";
    while (rset.next()) {
     
    System.out.println(rset.getString("Id_alarm")+" "+ rset.getString("Nom_site")+" "+ rset.getString("Date_heure"));
    valeur = rset.getString("Nom_site");
    }
    stmt.executeQuery("UPDATE `list_alarm` SET `Nom_site`='"+ valeur+"' WHERE `Id_alarm` = 12000");
    comme ça ta variable valeur aura une fois le dernier tour de boucle passé la valeur du dernier nom de site.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

  10. #10
    Membre du Club
    Inscrit en
    Août 2008
    Messages
    94
    Détails du profil
    Informations forums :
    Inscription : Août 2008
    Messages : 94
    Points : 46
    Points
    46
    Par défaut
    merci beaucoup l'ami,ça fonctionne comme je veux....

    tu as deja testé une connexion a une base de donnée sybase? j'ai un code qui me pose aussi quelque soucis

    merci encore pour ton aide

  11. #11
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    Pour ce qui est de ta base je t'invite à continuer la discussion sur le thraed déjà ouvert.
    Si le problème de ce fil est résolu n'oublie pas de cliquer sur le bouton en bas de la discussion.
    autant l'hiver éclate que l'hétéroclite
    le vrai geek c'est celui qui croit qu'il y a 1024 mètres dans un kilomètre

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

Discussions similaires

  1. Trigger mise a jour base des données
    Par alizerhouni dans le forum MS SQL Server
    Réponses: 7
    Dernier message: 12/07/2010, 10h08
  2. Mise a jour base de données
    Par santacrus dans le forum VB.NET
    Réponses: 1
    Dernier message: 07/06/2010, 10h38
  3. mise a jour base de donnée access
    Par Razielone dans le forum C#
    Réponses: 5
    Dernier message: 28/03/2008, 08h43
  4. mise a jour base de donné
    Par christi dans le forum ASP.NET
    Réponses: 6
    Dernier message: 23/02/2007, 09h31
  5. [mise a jour] base de donnée access
    Par escobar dans le forum Access
    Réponses: 11
    Dernier message: 17/07/2006, 10h12

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