Fonction pour gerer une requete dans la base de donnée
senol123
Messages postés
1
Statut
Membre
-
seno123 -
seno123 -
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)
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)
A voir également:
- Fonction pour gerer une requete dans la base de donnée
- Fonction si et - Guide
- Base de registre - Guide
- Formules mathématiques de base - Télécharger - Études & Formations
- Gerer stockage google - Guide
- La base de données de sécurité du serveur n'a pas de compte d'ordinateur pour la relation - Forum Windows 10
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).
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).