DataTable Sélectionnez: Expression avec un problème d'espace
Situation:
Bonjour! J'ai un petit problème dans un projet C#. Je suis à l'aide de la méthode de sélection d'un objet DataTable et à l'aide d'une expression pour obtenir ce que je veux, mais je vais avoir quelques problèmes avec un espace dans l'une des cordes, je suis à l'aide de l'expression.
Voici donc un exemple de code de ce que j'ai:
DataTable table;
//...
DataRow[] rows = table.Select("[" + columnNameStr + "]" + " LIKE '*" + searchStr + "*'");
//...
La chaîne searchStr peut avoir un espace blanc. Ainsi, par exemple, si vous avez un nom tel que Bob Mec dans searchStr et la chaîne doit être Mec Bob plutôt l'expression select ne renvoie aucun résultat.
Question:
Qu'est-ce que l'expression-je utiliser si je veux obtenir un résultat lorsque les mots dans searchStr ne sont pas nécessairement dans le bon ordre pour obtenir un résultat?
OriginalL'auteur Partial | 2009-08-16
Vous devez vous connecter pour publier un commentaire.
Diviser votre chaîne de recherche sur les espaces et créer ensuite votre expression de chaîne de caractères dans une boucle à l'aide de OU.
Quelque chose le long de ces lignes pourraient travailler pour vous:
Notez que si vous allez à la construction d'une expression de sélection de façon dynamique, vous aurez besoin pour traiter chacun des éléments de recherche pour traiter avec des apostrophes et des crochets, et probablement d'autres personnages que je ne suis pas à l'esprit.
OriginalL'auteur Scott Ferguson
Un autre moyen plus simple a fonctionné pour moi.
Dire la searchStr est
"Hello World".
la clé est d'ajouter une seule citation
(')
avant & après la chaîne de recherche.OriginalL'auteur Manjukarunakar