Base de donnée et java

Résolu/Fermé
mims89 Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 25 septembre 2011 - 22 avril 2009 à 12:47
mims89 Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 25 septembre 2011 - 22 avril 2009 à 13:46
Bonjour,
dans mon projet informatique, des personnes s'inscrivent sur une interface: ils rentrent des données et je leur associe un numéro (qui sera la clef dans la bdd). Seulement, pour que le prochain inscrit soit inscrit sans erreur, je dois récuperer l'identifiant du précédent et lui ajouter 1: voici ma méthode:

public static int trouvenum() {

try {
Connection con = Connexion.defaultCon;
Statement stab = con.createStatement();

String tn = "select MAX(numero) from PHARMACIE.vendD";
ResultSet toutesRS = stab.executeQuery(tn);
int res = toutesRS.getInt("numero");

return res;
} catch (Exception ex) {
throw new Error(ex);
}
}
on me retourne une erreur: unknown column numero, alors que cette colonne existe!!
je ne sais pas quoi faire, y a t il une erreur? je suis débutante en java, je ne maitrise pas du tout le langage.

Je dois aussi récuperer les inscrits: leur noms, pour en faire une liste dans une combobox (pour s'identifier par la suite). Je ne sais pas comment faire pour les recuperer? quel type de méthode?

merci de bien vouloir m aider,
A voir également:

6 réponses

UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 35
22 avril 2009 à 13:05
essaie int res = toutesRS.getInt(1);
en fait le nom de la colonne en output n'est pas numero mais quelque chose comme max_numero
en tout cas les numéros c'est plus simple
0
mims89 Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 25 septembre 2011
22 avril 2009 à 13:13
Merci, ca a résolu le probleme de "unknown column" mais la j ai un autre soucis, netbeans me répond: Invalid operation to read at current cursor position.
que dois-je faire?
merci
0
UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 35
22 avril 2009 à 13:23
wé c'est vrai bein voilà
tu fais :


if(toutesRS )
return toutesRS.getInt("numero");
return res;

en fait lorsque tu executes une requete SQL le curseur est positionné toujours sur la ligne avant première, donc tu testes s'il y'a une ligne retournée ou non.
0
mims89 Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 25 septembre 2011
22 avril 2009 à 13:40
j ai pas compris ... :s
quand je fais ce que tu m as dit, net beans repond que c est pas possible de faire if (toutesRS) parce que c est un int et pas un boolean, et si c est la position du curseur qui pose probleme, n y a t il pas un moyen de passer a la position suivante (sans faire .next() , j ai essayé avec ca mais ca ne marche que pour les booleans)
merci,
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
UaLShark Messages postés 191 Date d'inscription vendredi 19 mai 2006 Statut Membre Dernière intervention 21 juillet 2010 35
22 avril 2009 à 13:42
je m'excuse !
if(toutesRS.next() )
Sorry!
0
mims89 Messages postés 8 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 25 septembre 2011
22 avril 2009 à 13:46
merci beaucoup!!! c est bon ca marche parfaitement, je poste le code pour ceux qui en auraient peut etre besoin:
public static int trouvenum() {

try {
Connection con = Connexion.defaultCon;
Statement stab = con.createStatement();

String tn = "select MAX(numero) from PHARMACIE.vendD";
ResultSet toutesRS = stab.executeQuery(tn);
if (toutesRS.next()) {
return toutesRS.getInt(1);
}
int res = toutesRS.getInt(1);
return res;
} catch (Exception ex) {
throw new Error(ex);
}
}
0