1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| var liste = new List<string>(); // la liste qui contient les valeurs du IN
string[] paramArray = liste.Select((x, i) => "@liste" + i).ToArray(); // On crée dynamiquement un paramètre SQL par valeur (format @listeX où X est l'index de l'élément dans la liste)
cmd.CommandText = string.Format("SELECT * FROM Table1 WHERE PRODUIT IN ({0})", string.Join(",", paramArray)); // On ajoute les paramètres dans le IN
// On ajoute les SqlParameters à la commande
for (int i = 0; i < liste.Count; ++i)
{
cmd.Parameters.Add(new SqlParameter("@liste" + i, liste[i]));
}
// Et il n'y a plus qu'à exécuter...
cmd.Connection.Open();
using (var dr = cmd.ExecuteReader())
{
while (dr.Read())
{
var a = dr[0];
var b = dr[1];
}
} |
Partager