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

Langage Java Discussion :

Problème pour splitter l’un des champs de ma table (Java/SQL)


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Par défaut Problème pour splitter l’un des champs de ma table (Java/SQL)
    Bonjour, je travaille actuellement sous phpmyadmin et j’ai un petit problème.
    En effet, j’ai deux tables (dans des bases différentes) qui portent le même nom, dans l’une ma 1ère colonne s’appelle nom_port_carte. Dans l’autre table j’aimerais splitter cette colonne (nom_port_carte) dans 5 champs à savoir : nom, slot, port, carte et déport.

    Mon objectif est donc de transférer les données de nom_port_carte dans 5 champs (nom, slot, port, carte et déport).

    A savoir que dans nom_port_carte se trouve des données comme ci-dessous :
    RGP011_RIGUEPEU-4-EG4P-1(PORT-1)

    Donc dans la 2ème table avec les 5 champs j’aimerais obtenir :

    nom : RGP011_RIGUEPEU
    slot : 4
    port : 1
    carte : EG4P
    déport : null

    CSY8621_COUSSAY-1-EG4P-1(DEPORT GE)
    nom : CSY8621_COUSSAY
    slot : 1
    port : null
    carte : EG4P
    déport : DEPORT GE

    Il faut donc splitter, découper cette chaîne en fonction des tirets.

    Partie du code que j'ai écrit pour le transfert :

    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
     
    public void gestRtn() throws SQLException, IOException, FileNotFoundException {
     
            Connection con = Connector_IGPV2_full.getInstance().getCon();
            Connection con2 = Connector_IGPV2_2.getInstance().getCon();
     
            ResultSet rs = con.prepareStatement("SELECT nom_port_carte from perffh_igpv2_1.rtn").executeQuery();
     
            while(rs.next()) {
     
                PreparedStatement ps = con2.prepareStatement("INSERT INTO rtn (nom, slot, port, carte, deport
                        + "description) values (?,?,?,?,?)");
     
    ps.setString(1, extractNom(rs.getString("nom_port_carte")));
            ps.setString(2, extractSlot(rs.getString("nom_port_carte")));
            ps.setString(3, extractPort(rs.getString("nom_port_carte")));
            ps.setString(4, extractCarte(rs.getString("nom_port_carte")));
            ps.setString(5, extractDeport(rs.getString("nom_port_carte")));
     
    ps.executeUpdate();
                ps.close();
            }
            rs.close();
            con.close();
            con2.close();
        }
    Quelqu'un peut me donner un coup de pouce ? SVP

    Merci par avance pour votre aide, Cordialement.



    J'ai tenter quelque chose afin de régler mon problème mais j'ai quelques difficultés.

    En effet, je teste pas à pas et pour le slot je n'arrive pas à obtenir 4, j'obtiens :

    4EM6F1(0043BRW5)

    Voici mon 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
    31
    32
     
     
    /**
         * Découpe le champ nom_port_carte
         * @param nom
         * @return String[]  0 = nom / 1 = slot / 2 = port / 3 = carte / 4 = deport
         */
        private String[] cutNom(String nom) {
            String[] finalSplit = new String[5];
            if (nom != null && !nom.equals("NULL") && nom.length() > 10) {
                String temp3 = nom.substring(0, nom.indexOf("-"));
                nom = temp3.replaceAll("\\s", "_") + " " + nom.substring(nom.indexOf("-"));
                nom = nom.replaceAll("\\-", "");
                nom = nom.replaceAll("\\(", "");
                nom = nom.replaceAll("\\)", "");
                nom = nom.replaceAll("\\s", "\\|");
                String[] rawSplit = nom.split("\\|");
                finalSplit = new String[5];
     
                finalSplit[0] = rawSplit[0];
                finalSplit[1] = rawSplit[1];
                //finalSplit[2] = rawSplit[2];
                //finalSplit[3] = rawSplit[3];
                //rawSplit[3] = rawSplit[3].replace("-", "/");
                //String[] temp = rawSplit[4].split("-");
                //finalSplit[2] = rawSplit[2] + " " + temp[0] + "/" + temp[1];
                //finalSplit[3] = rawSplit[3];
                //String[] temp2 = rawSplit[4].split("/");
                //finalSplit[4] = temp[2] + " " + temp2[0] + "/" + temp2[1];
            }
            return finalSplit;
        }

  2. #2
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mai 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 2
    Par défaut
    Bonjour à tous, bon j'ai réussi mon problème en revanche c'est que certain nom on est des tirets et cela me pose problème :

    Version avant :

    Nom : Version avant.PNG
Affichages : 135
Taille : 5,3 Ko

    Version après :

    Nom : Version après.PNG
Affichages : 114
Taille : 7,0 Ko

    Et voici mon code maintenant :

    Nom : MaVersion.PNG
Affichages : 114
Taille : 28,8 Ko

    Cordialement.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 29/06/2016, 16h34
  2. Problème pour modifier ordre des champs d'une ligne
    Par zram29 dans le forum Langage
    Réponses: 4
    Dernier message: 02/06/2010, 13h05
  3. Intercepter un formulaire web pour y remplir des champs
    Par rpoulin dans le forum Web & réseau
    Réponses: 7
    Dernier message: 04/03/2010, 15h12
  4. [ADO]Utiliser OpenSchema pour le listing des champs d'une table
    Par bruce-willis dans le forum C++Builder
    Réponses: 0
    Dernier message: 10/03/2008, 09h24
  5. Réponses: 7
    Dernier message: 04/06/2006, 17h00

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