Maison > base de données > tutoriel mysql > Comment utiliser les paramètres SQL avec une clause IN et une liste de chaînes ?

Comment utiliser les paramètres SQL avec une clause IN et une liste de chaînes ?

Linda Hamilton
Libérer: 2025-01-03 14:28:39
original
476 Les gens l'ont consulté

How to Use SQL Parameters with an IN Clause and a List of Strings?

Exécution d'une requête IN avec une liste de chaînes à l'aide de paramètres SQL

Votre code tente d'exécuter une instruction IN à l'aide d'une liste comme paramètre du paramètre SQL @settings. Cependant, cette approche n'est pas valide car elle nécessite un type de données pris en charge pour la liaison.

Pour exécuter une requête IN avec une liste de chaînes, vous pouvez suivre ces étapes :

  1. Créez un modèle de requête de chaîne : Construisez une requête de chaîne qui inclut des espaces réservés pour chaque élément de la liste. Par exemple :
string sql = "SELECT dscr FROM system_settings WHERE setting IN ({0})";
Copier après la connexion
  1. Convertir la liste en un tableau de paramètres : Créer un tableau de noms de paramètres, où chaque nom correspond à un espace réservé dans la requête modèle.
string[] paramArray = settingList.Select((x, i) => "@settings" + i).ToArray();
Copier après la connexion
  1. Formatez la requête : Remplacez le des espaces réservés dans le modèle de requête avec les noms des paramètres.
cmd.CommandText = string.Format(sql, string.Join(",", paramArray));
Copier après la connexion
  1. Ajoutez les paramètres à la commande : Créez et ajoutez un SqlParameter pour chaque élément de la liste, en utilisant le nom et la valeur du paramètre correspondant.
for (int i = 0; i < settingList.Count; ++i)
{
    cmd.Parameters.Add(new SqlParameter("@settings" + i, settingList[i]));
}
Copier après la connexion

En suivant ces étapes, vous pouvez effectuer en toute sécurité une requête IN avec une liste de chaînes à l’aide des paramètres SqlCommand. Cette approche consiste à créer un nom de paramètre personnalisé pour chaque chaîne de la liste et à spécifier le type de données approprié pour SqlParameter.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal