moinefou
Messages postés2Date d'inscriptionmercredi 26 mars 2003StatutMembreDernière intervention 5 juin 2004
-
5 juin 2004 à 21:05
moinefou
Messages postés2Date d'inscriptionmercredi 26 mars 2003StatutMembreDernière intervention 5 juin 2004
-
5 juin 2004 à 21:47
Bonjour à tous,
Je poste ce petit message parce qu'il m'arrive un petit soucis. Je dois réaliser un TP en java avec une base de donnée Access derriere. Mon problème intervient sur la manipulation des chaines... j'essaie de faire clair :
J'ai une classe article qui a pour attribut une chaine "reference". Par conséquent dans Access j'ai créé un champ reference étant de type texte. Au lancement du prog toutes les données sont rapatriées sans problême mais je ne peux comparer une chaine de java avec une chaine de Access ( par exemple pour faire une recherche ). Je ne comprend plus :sad)
J'essaie de mettre les extrais de code correspondant à mon soucis :
req = "SELECT reference, designation, prixht,dureegarantie, poids FROM appareil ";
try
{
//lecture du curseur
rs=StockBD.GetStatement().executeQuery(req);
while(rs.next())
{
//avec les données récupérées, on créé un appareil temporaire qu'on ajoute ensuite dans le stock
electromenager tempelec = new electromenager(rs.getString(1),rs.getString(2),rs.getDouble(3),rs.getInt(4),rs.getDouble(5));
leclerc.ajouteelec(tempelec);
}
}
//on compare les références par rapport à celle donnée, si la référence existe on l'efface
if (ref.equals(meselectro[i].rendreref()))
{
for ( j=i ; j < nbelec ; j++ )
{
meselectro[j] = meselectro[j+1] ;
}
nbelec-- ;
ok = true ;
System.out.println("Electromenager efface" ); }
else
i++ ;
Voila voila, je ne sais pas si j'ai été bien clair, ou si j'ai merdé dans ma présentation mais si quelqu'un pouvait arriver à me dépanner ça m'oterais une épine du pied :)
kirua12
Messages postés1155Date d'inscriptionsamedi 17 janvier 2004StatutMembreDernière intervention29 avril 20117 5 juin 2004 à 21:42
Salut,
en Java une String est une String :) quelque soit la façon dont elle a été initialisée. Donc si tu as un pb de comparaison, assure toi que les chaines sont vraiment identiques (pas d'espace en trop, casse identique ...).
Ton code est correct. Affiche les chaines que tu manipules pour vérifier quelles sont vraiment identiques.
moinefou
Messages postés2Date d'inscriptionmercredi 26 mars 2003StatutMembreDernière intervention 5 juin 2004 5 juin 2004 à 21:47
Merci de ta réponse rapide :) .
Mais justement j'ai posté ce cri de détresse parce que je ne vois pas d'où viens le problême...
Je me suis demandé si ça ne venait pas de ma référence sous Access qui par défaut est définie à 50 caractères, mais en la réduisant à 2 ça ne change absolument rien.
Et par conséquent une fois la base chargée, si je lui demande de me faire une recherche sur (par exemple) une référence AA qui existe puisque rapatriée de Access il ne la trouve pas. Mais si je créé une référence AA par java là il n'y a plus de problême :sad) .