JDBC/JSP/access

jpereire Messages postés 1 Date d'inscription lundi 23 juin 2003 Statut Membre Dernière intervention 23 juin 2003 - 23 juin 2003 à 15:46
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 24 juin 2003 à 05:58
Bonjour à tous,

Je souhaite réaliser la situation suivante :
un utilisateur remplit un champ Titre et je voudrais que les résultats qui 'match' ce titre s'affiche (dans un <select> par ex) au fur et à mesure qu'il saisisse des caractères.

Ex: si il saisit 'Artificial Intelig' dans le champ titre alors les choix proposés seront:
Artificial Inteligence- a modern approach
Artificial Inteligence - An Intoduction
Artificial Inteligence - The very Idea

Je travaille sur une architecture JSP-servlets/apache/access.
Je pense qu'il faut un objet Listener sur le champ Titre et que des que ce champ se modifie on réeffectue la recherche dans la BD. Am I right??

Merci à ceux qui prendront le tps de me répondre
++

Jeanphi

1 réponse

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
24 juin 2003 à 05:58
select * from table where mid(clé,1,len(texte)) = texte;

voici pour le select, puisque je crois pas qu'access supporte la commande * et ? qui permet de dire que tu connais pas un ou tout les autre caractère.

pour ce qui est du listener, il faut tout simplement en avoir un sur le keypress et le code devra ressembler à ton texte écris pour le caractère entré par l'utilisateur, vu (il me semble) que le listeneur s'effectue avant que le caractère soit ajouté

si tu es sur une base de donnée à distance, le mieux est d'ajouter tout ce qui match avec la première lettre et conserver le nombre de caractère. Ènsuite, lors d,une frappe de clavier qui augmente le nombre de lettre dans le texte, supprimer ceux qui sont invalide ou lieu de refaire une recherche qui va saturer un réseau s'il y a beaucoup de monde qui fond des opérations en même temps. Par contre, si le nombre de caractere est plus bas que le nombre précédent, il va faloir faire une recherche pour éviter les bug ou sinon va faloir utiliser une base de donnée temporaire
0
Rejoignez-nous