Question

C'est mon problème: je dois stocker un lot de messages de journalisation et j'ai pensé qu'il serait judicieux de le conserver dans une base de données SQLite3 pour pouvoir le rechercher et le filtrer facilement.

Je vais afficher les messages du journal dans un widget de liste standard (à l'aide de wxWidgets). La liste comportera plusieurs colonnes et pourra être triée et filtrée par l'utilisateur.

Maintenant, je ne sais pas quel est le meilleur moyen de gérer cela. Je réfléchis à quelques solutions possibles:

  1. Lire tous les messages en mémoire. Lorsqu'il y a un nouveau message de journal ou un message modifié (à un emplacement aléatoire de la liste), toute la liste doit être actualisée. Même chose lorsque l’utilisateur souhaite filtrer la liste ou trier sur une colonne différente.
  2. Lit tous les identifiants dans un tableau et récupère l'intégralité du message de journal à la demande (lorsque l'utilisateur fait défiler la liste pour les rendre visibles).
  3. Utilisez l'interface SQL pour extraire les résultats à la demande, en utilisant SQL pour sélectionner le sous-résultat exact requis.

Mais, en réalité, je ne suis tout simplement pas habitué à travailler avec ce genre de problème, donc tous les conseils sont appréciés!

Était-ce utile?

La solution

Pourquoi ne pas utiliser la pagination?

SELECT *
FROM logs
WHERE ...
ORDER BY ...
LIMIT offset, count

Où offset et count sont les valeurs que vous pouvez choisir. Vous pouvez l'utiliser pour obtenir un nombre quelconque d'entrées de journal. Ajoutez ensuite un bouton suivant pour permettre à l'utilisateur d'afficher la page suivante d'entrées. Combinée à la possibilité de filtrer et de trier, la recherche de journal ne peut être plus simple.

Autres conseils

J'ai commencé à écrire ceci en tant que commentaire sur la réponse de Nadia, mais j'ai commencé à me perdre et cela a pris trop de temps:)

N'oubliez pas que lorsque le nombre d'entrées de journal devient très important, la barre de défilement devient inutile. Le moindre mouvement dans le parchemin finit par se déplacer de manière drastique dans la liste. Cela empêche un utilisateur de rechercher dans la liste.

Réfléchissez à la raison pour laquelle les utilisateurs examineront ces entrées et créeront une conception autour de celle-ci. Les très grandes listes ne sont pas simplement difficiles à manipuler dans le code, elles sont également difficiles à manipuler pour les utilisateurs. Je leur donnerais probablement des critères de filtrage et des résultats paginés.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top