Bonjour,
J'ai un dataGird qui affiche des données en provenance d'un dataset.
J'ai placé un champ de recherche pour filtrer les données et je ne parviens pas à filtrer une recherche dans le champ email du datagird.
Voici ma requête :
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SELECT nom, adresse, email, tel, mobile, fax, web, type FROM contacts WHERE ((nom LIKE N'%' + @nom + N'%') OR (email LIKE N'%' + @email + N'% ') OR (tel LIKE N'%' + @tel + N'%') OR (mobile LIKE N'% ' + @mobile + N'%') OR (fax LIKE N'%' + @fax + N'%') OR (web LIKE N'%' + @web + N'%')) AND (type = N'client ')
Donc pour résumer, je parviens à filtrer tout les champs sauf une adresse email.
Ex. J'ai une entrée dans le datagird avec un email : toto@titi.com.
Dans mon champ de recherche, je tape : toto, il trouve rien, je tape, titi, il trouve rien, je tape l'adresse complete, il trouve rien.
Pourtant l'adresse existe bien.
Voici le code qui filtre les données :
J'ai procédé également au test suivant : Si dans le champ email, je ne tape pas d'adresse mail mais un simple string (sans le @ et le .), cela ne me retourne rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Dim SearchString = SearchInput.Text Me.ClientsTableAdapter.Dispose() Me.ClientsTableAdapter.FillBySearch(Me.ClientsDataSet.contacts, SearchString, SearchString, SearchString, SearchString, SearchString, SearchString) ClientsDataGrid.Refresh()
J'ai pourtant des données dans le champ et si je teste avec n'importe quel autre champs de la Db, ça marche.
J'ai regardé la structure de la table et je ne vois rien de spécial, c'est du nvarchar comme pour les autres champs.
Y a t'il une particularité ou un points que j'aurais oublié ?
Une idée ?
Merci
Partager