mohamedvb.net
-
22 janv. 2014 à 11:07
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 2017
-
26 janv. 2014 à 09:54
Bonjour,
je veux faire une recherche avec une requette sql selon les caractere que je tape dans le textbox
exemple
si je tape la letre 'm'
le resultat doit etre la selection de tout qui commence par 'm' si j'ajoute 'b' afficher qui commence par 'mb' ...
Bonjour,
Utilise donc l'opérateur Like et ses jokers dans ta requête.
PS : mais su la table est volumineuse, l'exécution risque de tout ralentir, puisque la requête devra être modifiée et exécutée à chaque frappe dans la textbox.
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
nn '* 'c'est pour dir selectiontionner tout les champ de cette table (article)
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 22 janv. 2014 à 12:01
alors article. ne doit pas précéder * !
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 22 janv. 2014 à 15:59
Salut
Tu confonds ucfoutu : 'article' est le nom de la table.
Le champ est 'id_art'.
Pour que le LIKE fonctionne pour rechercher les champs "commençant par", il faut mettre le % après le texte :
LIKE '" & TextBox5.Text & "%'"
- Préférer & à + pour concaténer des chaines.
- Attention : La TextBox ne doit pas contenir de signe apostrophe ' sinon il y aura une erreur de syntaxe SQL (sujet largement débattu dans ce forum)
Bonjour
ç' a l'air lourd et pas pratique
à chaque frappe on effectue une requette et charger un datagridview pour afficher la requette
ex je frappe m le datagridview va afficher tous les enregistrements
qui contient un nom article commençant par m
et maintenant l'utilisateur doit chercher dans le datagridview
son article.
il faudrait afficher une liste des noms des articles et ensuite
on choisit l'article et effectue une requette
peut etre ainsi
charger dans un combobox la liste d'article
et effectuer la recherche selon le selected item de la combo
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 22 janv. 2014 à 20:55
Ca, c'est certain; cs_ShayW que ce sera lourd ! Et ce le sera d'autant que la table sera volumineuse.
Je partage totalement ton avis (et également sur le plan pratique).
cs_Robert33
Messages postés834Date d'inscriptionsamedi 15 novembre 2008StatutMembreDernière intervention14 janvier 201733 26 janv. 2014 à 09:54
Bonjour
Tout dépend du type de moteur SQL et de la localisation de la base, il faut également limiter le nombre d'enregistrement retourné, et ça devrait le faire.
tester avec SQL 2008 R2, en local, sur une table de 40000 enregistrements, en limitant la requête à 20 enregistrements c'est tout à fait honorable comme résultat.
Dans les cas extrêmes, on peut toujours exécuter la requête en mode asynchrone en découplant le chargement du datagridview, cela permettrait une meilleur fluidité.
22 janv. 2014 à 11:37
strSql = "SELECT article.* FROM article WHERE id_art LIKE '%" + TextBox5.Text + "%' "
22 janv. 2014 à 11:44
Tu es sûr ?
22 janv. 2014 à 11:50
22 janv. 2014 à 12:01
22 janv. 2014 à 15:59
Tu confonds ucfoutu : 'article' est le nom de la table.
Le champ est 'id_art'.
Pour que le LIKE fonctionne pour rechercher les champs "commençant par", il faut mettre le % après le texte :
- Préférer & à + pour concaténer des chaines.
- Attention : La TextBox ne doit pas contenir de signe apostrophe ' sinon il y aura une erreur de syntaxe SQL (sujet largement débattu dans ce forum)