Requêtes SQL et objets

Modérateurs : graffion, jmdouin, agoncal, mlebihan

GONZALES
Messages : 13
Inscription : 14 oct. 2007 14:19

Requêtes SQL et objets

Message par GONZALES » 04 nov. 2007 18:24

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

GONZALES
Messages : 13
Inscription : 14 oct. 2007 14:19

Message par GONZALES » 04 nov. 2007 22:22

il semble que j'ai la même chose pour Item vis-à-vis de Product.


Est-ce que qq'un peut m'aider ? Merci.

Komla
Messages : 32
Inscription : 15 oct. 2007 4:29

Requêtes SQL et objets

Message par Komla » 05 nov. 2007 1:18

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 !

ellouze
Messages : 123
Inscription : 12 oct. 2007 22:27
Localisation : Paris
Contact :

Message par ellouze » 05 nov. 2007 18:39

il y a aussi une autre solution.
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")
J'espère que ça pourra t'aider.

Bon courage.

Mohamed :wink:

Répondre