Fonction pour gerer une requete dans la base de donnée

Fermé
senol123 Messages postés 1 Date d'inscription mercredi 30 janvier 2013 Statut Membre Dernière intervention 30 janvier 2013 - 30 janv. 2013 à 18:49
 seno123 - 4 févr. 2013 à 17:36
Bonjour,

Svp pouvez vous m'aider j'arrive à voir mon erreur

public int recupererIdClient(){
try {
st1 = (Statement) con.createStatement();
r = st1.executeQuery("SELECT MAX(codeClient) FROM clients ORDER BY ID DESC");
c = r.getInt("codeClient");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

return c;
}


voici l'erreur afficher dans le main
Exception in thread "main" java.lang.NullPointerException
at projet.Index.main(Index.java:33)

2 réponses

salut..
Pour extraire les données d'une base via une application il faut se positionner sur l'enregistrement (ResultSet) cible.

ton code a ignorer ce la car tu a demandé à l'application d'extraire le contenu du champ ("codeClient") sans indiquer qu'il enregistrement cible.
pour faire ça tu doit ajouter cette ligne "r.next();"ou "r.first();" après la ligne suivante :
r = st1.executeQuery("SELECT MAX(codeClient) FROM clients ORDER BY ID DESC"); ou "r.first();"
cette ligne va te positionner sur le premier enregistrement de la table (clients).
0
merci c k javé fait pour pour que ma fonction marché merciii bcoup ka mém
0