Bonjour,
J'ai fais mes dév après avoir installé MySQL et créé les différentes tables.
Je fais actuellement des tests avec MenuCatalog.java.
J'ai un souci. Je demande la rubrique 21 (Find a product). Je demande le product suivant :
id=RPSN01
dont les autres attributs sont :
name=Reptiles
Desc=...
catefory_fk=REPTILES
j'ai le message suivant :
"This product doesn't exist".
Le pb vient de la méthode select que j'ai développée dans ProductDAO.java.
Après avoir obtenu un objet resultSet, j'en extrais les 4 informations sous forme de String pour les injecter dans un new Product à 4 arguments d'entrée. Ces arguments sont id, name, desc et category.
Je crée donc un objet category :
Category cat = new Category();
Je fais cat.setCategory(resulSet.getString(4)) pour lui donner l'Id de la catégorie. Je suppose que je n'ai pas à renseigner les autres attributs de l'objet cat, à savoir le name (Reptiles) et la description (...) par un set. Si je le fais, de toute manière, le produit n'existe pas non plus.
Je me suis rendu compte que lorsque j'affiche l'objet category dans la méthode toString() de la classe Product, l'ID est null (méthode cat.getId()) alors que dans le constructeur, l'ID de la categorie est bien défini à REPTILE. Pour l'instant je pense que mon erreur provient de ce point.
Quelqu'un peut-il m'aider et me dire pourquoi ma category est mal définie et, par conséquent, mon produit n'existe pas.
Merci d'avance.
Manuel
Requêtes SQL et objets
Modérateurs : graffion, jmdouin, agoncal, mlebihan
Requêtes SQL et objets
Bonjour,
1) Il faut utiliser Ant pour tester votre programme :
- Soit à l’aide d’un environnement de développement intégré.
- Soit en commande en ligne.
C\> chemin \ ant yaps-test
C:\> chemin \ ant yaps-mark
2) Si votre constructeur Product contient le test de validité ChecData, il faut disposer de toutes les données avant de construire un objet de type Product.
Exemple :
Category cat = new Category(“????”);
product = new Product(resultSet.getString(1), resultSet.getString(2), resultSet.getString(3),cat);
J’espère que c’est une partie de votre problème.
Komla !
1) Il faut utiliser Ant pour tester votre programme :
- Soit à l’aide d’un environnement de développement intégré.
- Soit en commande en ligne.
C\> chemin \ ant yaps-test
C:\> chemin \ ant yaps-mark
2) Si votre constructeur Product contient le test de validité ChecData, il faut disposer de toutes les données avant de construire un objet de type Product.
Exemple :
Category cat = new Category(“????”);
product = new Product(resultSet.getString(1), resultSet.getString(2), resultSet.getString(3),cat);
J’espère que c’est une partie de votre problème.
Komla !
il y a aussi une autre solution.
Je pense que tu peux appeler la méthode select :
J'espère que ça pourra t'aider.
Bon courage.
Mohamed
Je pense que tu peux appeler la méthode select :
Code : Tout sélectionner
CategoryDAO categorydao = new CategoryDAO();
(Category)categorydao.select(ResultSet.getString("CATEGORY_FK")
Bon courage.
Mohamed
