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
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 :
Modifié par Sora1853 (09 May 2019 - 08:27)
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 :
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_sfp").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 :
/**
* 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;
}
Modifié par Sora1853 (09 May 2019 - 08:27)