Java web connection à JDBC
Résolu
sihemhcine
Messages postés
12
Statut
Membre
-
sihemhcine Messages postés 12 Statut Membre -
sihemhcine Messages postés 12 Statut Membre -
Bonjour ,
j'ai crée une base de données JDBC avec Netbeans8 . j'ai crée un web service pour m'afficher le nombre des enregistrements de la table crée .J'ai procédé comme suit :
Mais il m'affiche toujours 0
Pourriez m'aider SVP
j'ai crée une base de données JDBC avec Netbeans8 . j'ai crée un web service pour m'afficher le nombre des enregistrements de la table crée .J'ai procédé comme suit :
@WebMethod(operationName = "Return_nbr")
public int Return_nbr( )
{
Statement _st ; ResultSet resultat; int nb= 0 ;
try
{ _con =db.getConnection();
_st = _con.createStatement();
resultat = (ResultSet) _st.executeQuery("select * from USER1.ETUDIANT ;") ;
while( resultat.next())
{ nb++ ; }
}
catch(Exception ex )
{ System.out.println(ex.getMessage());}
return nb ;
}
Mais il m'affiche toujours 0
Pourriez m'aider SVP
1 réponse
-
Bonjour,
Est-ce qu'il t'affiche une erreur avec System.out.println(ex.getMessage()) ?
Remarque : un trace complète ex.printStackTrace serait plus parlante.
De plus pourquoi récupérer tous les éléments de la table pour juste les compter, il y a une optimisation à faire côté SQL.
Enfin, il y a des conventions de nommage en Java, ce serait bien de les respecter, elles ne sont pas là que pour faire jolies.
@WebMethod(operationName = "nombreEtudiants") public int nombreEtudiants() { try ( Connection con = db.getConnection(); Statement st = con.createStatement(); ) { ResultSet rs = st.executeQuery("select count(*) from ETUDIANT"); if (rs.next()) { return rs.get(1); } else { return 0; } } catch (Exception e) { e.printStackTrace(); return -1; } }-
Merci bien pour vos recommandations .
J'ai rectifié mon code , mais il me demande de forcer le type de l'instruction contenant la requette comme suit :ResultSet rs =(ResultSet) st.executeQuery("select count(*) from ETUDIANT") ;
Mais malheureusement le web service retourne -1 . Est ce que le problème est au niveau ma base ? -
-
-