SQL “SELECT (Value1, Value2,...)” avec le passage de la variable de valeurs dans GridView
J'ai une étrange rencontre lors de la création d'un GridView en utilisant SELECT..WHERE..<field> IN (value1, val2...)
.
Dans la section "Configurer la source de données" de l'onglet, si j'ai coder en dur les valeurs SELECT .... WHERE field1 in ('AAA', 'BBB', 'CCC')
, le système fonctionne bien.
Cependant, si je définir un nouveau paramètre et passer dans une chaîne concaténée de valeurs à l'aide d'une variable, que ce soit un @session, de Contrôle ou de la chaîne de recherche; par exemple, SELECT .... WHERE field1 in @SESSION
le résultat est toujours vide.
J'ai fait une autre expérience, en réduisant le contenu des paramètres à une seule et même valeur, il fonctionne bien.
en bref,
si j'ai coder en dur une chaîne de valeurs, il fonctionne,
si je passe une variable avec une valeur unique seulement, il fonctionne,
mais si je passe une varialbe avec deux valeurs; il a échoué.
Pls conseiller si j'ai fais une erreur ou c'est un bug connu.
BR
SDIGI
OriginalL'auteur | 2008-12-05
Vous devez vous connecter pour publier un commentaire.
Cela fonctionne. Pas sûr de savoir comment elle est efficace.
OriginalL'auteur Hutcho
Prendre un coup d'oeil à la réponse à cette question (qui est très similaire à la vôtre)
Paramétrer un SQL À la clause
Qui, finalement, des liens (via des routes tortueuses) pour cette réponse définitive:
http://www.sommarskog.se/arrays-in-sql.html
OriginalL'auteur Andrew Rollings
Si vous allez à l'aide d'une procédure stockée, vous pouvez utiliser cette méthode, dont j'ai parlé en ce qui concerne la façon de le faire en SQL.
OriginalL'auteur Mitchel Sellers