OVH Cloud OVH Cloud

pb d'affichage de donnée triées en utilisant db4o

1 réponse
Avatar
dricou
Bonjour,

J'ai cr=E9=E9 un objet result et plusieurs attributs avec la librairie
db4o. Ensuite, j'ai cr=E9e environ 2000 objet de type result, stock=E9
dans un fichier yap.
J'arrive =E0 recup=E9rer les donn=E9es pour les afficher, par contre,
j'aimerais savoir si il m'est possible de pouvoir
cr=E9er une requ=EAte =E0 l'aide des fonctions de db4o me permettant de
trier dans un premier temps par un champ1 (de type String) et, ensuite,
de trier
par un champ2 (de type entier). J'ai essayer par exemple :
Query query =3D db.query();
query.constrain(Result.class);
query.descend("champ1").orderDescending():
query.descend("champ2").orderDescending();
ObjectSet result1 =3D query.execute();

A l'affichage, =E7a marche presque car les donn=E9es ne sont parfois pas
correctement tri=E9es.
Est ce un bug de la librairie qui ne cr=E9e pas la bonne requ=EAte ou
les fonctions sont-elle mal utilis=E9es?

Dans le dernier cas, serait-il possible d'avoir un exemple correct avec
l'utilisation db4o?
Comment r=E9soudre ce probl=E8me ?

Merci d'avance

1 réponse

Avatar
Une bévue
dricou wrote:

Dans le dernier cas, serait-il possible d'avoir un exemple correct avec
l'utilisation db4o?
je n'ai pas d'exemple sous le coude (db4o fonctionne sous MacOS X chez moi

et je suis sous linux) mais, le meilleur endroit pour poser cette question
est sur le forum spécifique à db4o.

par ailleurs, à mon avis, l'exemple formula 1 sur le site db4o donne la
réponse.

perso, j'ai une base db4o de gestion de cave à vin, et je n'ai pas rencontré
le genre de pb que vous citez : je peux ordonner mes bouteilles en fonction
du prix, mais aussi de l'appellation et du prix et même du cépage et de son
pourcentage dans la composition du vin.

mais j'utilise soda et avec l'aide d'un dev db4o j'ai codé un "query
builder" qui me permet de faire un query sur au moins 6 champs lesquels
champs ne sont pas tous à la même "profondeur" de ma classe "bottle".
--
Une bévue