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

Interfaces Graphiques en Java Discussion :

Stocker les résultats


Sujet :

Interfaces Graphiques en Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Par défaut Stocker les résultats
    bonjour,
    j'ai éxécuté une code qui sert a afficher des information spécifiés de la part d'un contenu d'un champ d'un colonne "update_action" d'un table "incident" d'un base de donnée "base_rapport_tt" sur wampserver.Et dans mon table , j'ai ajouté un autre colonne dans la quelle je vais stocker les informations affichés. Mon objectif est d'afficher le résultat de toute la colonne et le stocker dans la nouvelle colonne par ordre.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    try
            {   
                String Sql="Select Update_Action from   incident    where id_incident ='"+jTextField3.getText()+"' and Status like 'Closed'";
                con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
                stmt=con.createStatement();
                rs=stmt.executeQuery(Sql);
     
                while(rs.next()) {
                    str=rs.getString("update_Action");
     
                    while(!"".equals(str)){
                    int debut=str.indexOf('(')+1;
                    int fin=str.indexOf(')',debut);
                    nom += " "+str.substring(debut,fin);
                    str=str.substring(fin+1,str.length()); 
                    nom+=", ";
     
            }
     
            }
     
     
            }
     
            catch (Exception e) {
               JOptionPane.showMessageDialog(this,e);
                      }
    merci d'avance.

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    R&D - Palefrenier programmeur
    Inscrit en
    Août 2006
    Messages
    4 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : R&D - Palefrenier programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 096
    Par défaut
    D'après moi, a première vue, un requête SQL toute seule devrait pouvoir faire l'affaire sans le faire en java. Si l'idée est de faire un select, puis un insert dans une autre table il y'a moyen. -> http://www.w3schools.com/sql/sql_insert_into_select.asp
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Par défaut
    merci pour votre réponse . j'ai essayé avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    try
           { 
             String Sql="Select Update_Action,id_incident from   incident where Status like 'Closed'";
                con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
                stmt=con.createStatement();
                rs=stmt.executeQuery(Sql);
     
                while(rs.next()) {
                    str=rs.getString("update_Action");
                    nom="";
                    while(!"".equals(str)){
                    int debut=str.indexOf('(')+1;
                    int fin=str.indexOf(')',debut);
                    nom += " "+str.substring(debut,fin);
                    str=str.substring(fin+1,str.length()); 
                    nom+=", ";  
     
          Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/base_rapport_tt", "root", "");
          String query = "update incident set intervenants = ? where id_incident like '%'";
          java.sql.PreparedStatement preparedStmt = conn.prepareStatement(query);
          preparedStmt.setString(1,nom);
          preparedStmt.executeUpdate();
          conn.close();    
          }
                }
           }
     
            catch (Exception e) {
               //JOptionPane.showMessageDialog(this,e);
                      }
    le résultat de du premier champ du colonne destinataire est bien marché. Mais,le problème est que les autres champs prend le résultat de la première.
    Nom : Capture 15.PNG
Affichages : 158
Taille : 14,6 Ko
    merci d'avance.

  4. #4
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Par défaut
    [QUOTE=nabil123456;8208726]merci pour votre réponse . j'ai essayé avec ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    try
           { 
             String Sql="Select Update_Action,id_incident from   incident where Status like 'Closed'";
                con = getConnection("jdbc:mysql://localhost:3306/base_rapport_tt","root","");
                stmt=con.createStatement();
                rs=stmt.executeQuery(Sql);
     
                while(rs.next()) {
                    str=rs.getString("update_Action");
                    nom="";
                    while(!"".equals(str)){
                    int debut=str.indexOf('(')+1;
                    int fin=str.indexOf(')',debut);
                    nom += " "+str.substring(debut,fin);
                    str=str.substring(fin+1,str.length()); 
                    nom+=", ";  
     
          Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/base_rapport_tt", "root", "");
          String query = "update incident set intervenants = ? where id_incident like '%'";
          java.sql.PreparedStatement preparedStmt = conn.prepareStatement(query);
          preparedStmt.setString(1,nom);
          preparedStmt.executeUpdate();
          conn.close();    
          }
                }
           }
     
            catch (Exception e) {
               //JOptionPane.showMessageDialog(this,e);
                      }
    le résultat de du premier champ du colonne destinataire est bien marché. Mais,le problème est que les autres champs prend le résultat de la première.
    Nom : Capture 15.PNG
Affichages : 158
Taille : 14,6 Ko
    merci d'avance.

  5. #5
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    d'abord, cette requête update avec juste un % dans le like, elle update tout et non pas juste une ligne. Il faudrait que tu passe l'id incident sur lequel tu travaille plutôt que d'utiliser un like aussi dangereux. Ensuite il serait préférable que tu fasse une simple requête update du style


    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    update Update_Action set intervenant=MaFonctionDeTransformation(update_Action);

    La partie chiant c'est de créer cette fonction de transformation, mais vu que tu ne fait que scanner la valeur update_Action à la recherche des ( ) pour faire des split ensuite et des join, tout ça est couvert par des fonctions de bases de mysql.

    Voilà un exemple qui démontre simplement comment le faire:

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
     
    delimiter //
     
    CREATE TABLE intervention
        (id_incident int, update_action varchar(200), status varchar(10), intervenants varchar(200))
    //
     
    INSERT INTO intervention
        (id_incident, update_action, status)
    VALUES
        (1, '(julien) La demande n''est pas claire. (francois) le client veux rouge. (jean) Ok rouge fournis au client', 'closed'),
        (2, '(julien) Envoyé au client hier soir. (client) Ok bien reçu', 'closed' ),
        (3, '(patron) Urgent!!! (julien) Expédié en livraison 2h. (client) Ho ça pouvait attendre le mois prochain, mais merci.', 'closed')
    //
     
     
     
    CREATE FUNCTION TRANSFORM(s VARCHAR(2000)) RETURNS varchar(2000)
    DETERMINISTIC
           BEGIN
                   DECLARE open  INT;
                   DECLARE close  INT;
                   DECLARE someLimit  INT;
                   DECLARE str  VARCHAR(2000);
                   DECLARE toFind  VARCHAR(2000);
                   SET open = 1;
                   SET close = 1;
                   SET toFind = s ;
                   SET someLimit = 5;
                   SET str = '';
                   WHILE close > 0 and open > 0 and someLimit > 0 DO
                     SET someLimit = someLimit -1;
                     SET open = locate('(',toFind);
                     IF open > 0 THEN
                       SET toFind = SUBSTRING(toFind,open);
                       SET close = locate(')',toFind);
                       IF close > 2 THEN
                          SET str = concat(str,',',SUBSTRING(toFind,2,close-2));
                          SET toFind = SUBSTRING(toFind,close);
                       END IF;
                     END IF;
                   END WHILE;
                   return SUBSTRING(str,2);
     
           END//
     
    update intervention set intervenants = TRANSFORM(update_action) where status = 'closed'//
    select * from intervention //
    Résultat:
    Code txt : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    | id_incident |                                                                                                      update_action | status |         intervenants |
    |-------------|--------------------------------------------------------------------------------------------------------------------|--------|----------------------|
    |           1 |           (julien) La demande n'est pas claire. (francois) le client veux rouge. (jean) Ok rouge fournis au client | closed | julien,francois,jean |
    |           2 |                                                         (julien) Envoyé au client hier soir. (client) Ok bien reçu | closed |        julien,client |
    |           3 | (patron) Urgent!!! (julien) Expédié en livraison 2h. (client) Ho ça pouvait attendre le mois prochain, mais merci. | closed | patron,julien,client |


    Et pour jouer avec:
    http://sqlfiddle.com/#!9/a8fa7/1/0

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Par défaut
    merci pour votre réponse. je vous demande s'il vous plait de me déplacer vers le forum MYSQL. merci d'avance.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 132
    Par défaut
    j'ai essayer avec votre fonction mais rien ne se change dans ma table.

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

Discussions similaires

  1. Stocker les résultats d'une ANOVA
    Par vince3001 dans le forum ODS et reporting
    Réponses: 5
    Dernier message: 28/04/2011, 16h48
  2. [MySQL] Comment stocker les résultats d'un enregistrement dans des variables?
    Par Alexandrebox dans le forum PHP & Base de données
    Réponses: 26
    Dernier message: 30/07/2010, 21h23
  3. Stocker les résultats d'une requête
    Par dam28800 dans le forum Langage
    Réponses: 4
    Dernier message: 14/01/2010, 14h29
  4. Réponses: 1
    Dernier message: 29/06/2007, 14h58
  5. [JDBC] Stocker les résultats d'une requête
    Par etiennegaloup dans le forum JDBC
    Réponses: 9
    Dernier message: 26/07/2005, 18h18

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