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 :
Quelqu'un peut me donner un coup de pouce ? SVP
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(); }
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; }
Partager