XmlUtils class
Fermé
leilusha
Messages postés
19
Date d'inscription
mercredi 4 juin 2014
Statut
Membre
Dernière intervention
22 février 2017
-
7 nov. 2015 à 11:14
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 7 nov. 2015 à 13:14
KX Messages postés 16668 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 17 mars 2023 - 7 nov. 2015 à 13:14
A voir également:
- XmlUtils class
- Nvcontainer windows class - Forum Carte graphique
- Img class css - Astuces et Solutions
- Rnwf msm helper class ✓ - Forum Internet / Réseaux sociaux
- Logiciel qui empêche l’arrêt NvContainerWindowsClass ✓ - Forum Carte graphique
- Object of class doctrine\orm\persistentcollection could not be converted to string - Forum PHP
1 réponse
KX
Messages postés
16668
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
17 mars 2023
3 005
7 nov. 2015 à 13:14
7 nov. 2015 à 13:14
Bonjour,
Le code c'est bien, mais les erreurs que tu as c'est mieux.
La seule erreur "bloquante" que je vois c'est
De plus, tu as l'air de dire que c'est un problème de web service, mais ce code est relativement indépendant, c'est à dire que si tu l'utilises ailleurs que dans un web service il devrait se comporter de la même manière (donc planter même s'il n'est pas utilisé dans un web service).
J'ai également l'impression que tu réutilises sans arrêt les mêmes objets pour ta base de donnée (conn, pst, rs...) ce qui peut avoir des effets de bords.
Je t'invites à séparer ton code (Dao et Servvice dans des classes distinctes), pour ne pas tout mélanger, et à fermer tes Connection et Statement quand tu ne t'en sers plus, par exemple avec un try-with-resources.
Exemple (je n'ai pas testé) :
Le code c'est bien, mais les erreurs que tu as c'est mieux.
La seule erreur "bloquante" que je vois c'est
"select * from '"+nmT+"'", pourquoi est-ce que tu mets des apostrophes autour du nom de la table ?
De plus, tu as l'air de dire que c'est un problème de web service, mais ce code est relativement indépendant, c'est à dire que si tu l'utilises ailleurs que dans un web service il devrait se comporter de la même manière (donc planter même s'il n'est pas utilisé dans un web service).
J'ai également l'impression que tu réutilises sans arrêt les mêmes objets pour ta base de donnée (conn, pst, rs...) ce qui peut avoir des effets de bords.
Je t'invites à séparer ton code (Dao et Servvice dans des classes distinctes), pour ne pas tout mélanger, et à fermer tes Connection et Statement quand tu ne t'en sers plus, par exemple avec un try-with-resources.
Exemple (je n'ai pas testé) :
public class Service {
@WebMethod(operationName = "affT")
public String affT(@WebParam(name = "nmT") String nmT) throws IOException {
return MysqlDao.getAllTable(nmT);
}
}
public class MysqlDao {
static {
// ne doit être appelé qu'une seule fois dans tout le programme
Class.forName("com.mysql.jdbc.Driver");
}
private static Connection getConnection() {
return DriverManager.getConnection("jdbc:mysql://localhost:3306/TP1","root","");
}
public static String getAllTable(String table) {
try ( // try-with-resources
Connection conn = getConnection();
Statement stmt = conn.createStatement();
) {
String query = "select * from "+nmT;
ResultSet rs = stmt.executeQuery(query);
return XmlUtils.resultSetToHtml(rs);
}
catch(Exception e) {
e.printStackTrace();
return null;
}
}
}