Instruction SQL IN avec SqlParameter et List
Lors de la tentative d'exécution d'une instruction IN avec un SqlParameter à l'aide d'une List
Convertir la liste en tableau :
Convertir la liste
string[] paramArray = settingList.ToArray();
Formater l'instruction SQL :
Formater l'instruction SQL avec un espace réservé pour chaque paramètre, en utilisant le nombre de paramètres dans le tableau :
string sql = "SELECT dscr FROM system_settings WHERE setting IN ({0})"; sql = string.Format(sql, string.Join(",", paramArray.Select((x, i) => "@settings" + i)));
Ajouter Paramètres :
Pour chaque élément du tableau, ajoutez un SqlParameter à l'objet de commande, en utilisant le nom et la valeur appropriés :
for (int i = 0; i < settingList.Count; ++i) { cmd.Parameters.Add(new SqlParameter("@settings" + i, settingList[i])); }
Exécutez le Commande :
Exécutez la commande comme habituel :
reader = cmd.ExecuteReader();
Cette approche fournit un moyen sûr et efficace d'exécuter une instruction IN avec une instruction List
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!