Probleme de chaine entre Java et Access

moinefou Messages postés 2 Date d'inscription mercredi 26 mars 2003 Statut Membre Dernière intervention 5 juin 2004 - 5 juin 2004 à 21:05
moinefou Messages postés 2 Date d'inscription mercredi 26 mars 2003 Statut Membre Derniè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 :)

2 réponses

kirua12 Messages postés 1155 Date d'inscription samedi 17 janvier 2004 Statut Membre Dernière intervention 29 avril 2011 7
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.
0
moinefou Messages postés 2 Date d'inscription mercredi 26 mars 2003 Statut Membre Derniè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) .
0
Rejoignez-nous