Maison >base de données >tutoriel mysql >C# SqlCommand peut-il paramétrer les noms de colonnes sans procédures stockées ?
Paramètres dans SqlCommand : Alternative au paramétrage des noms de colonnes
En C#, les procédures stockées ne sont pas toujours la solution souhaitée pour le paramétrage dynamique des noms de colonnes. La question se pose : peut-on accomplir cela sans recourir à des procédures stockées ?
La réponse courte est non. SqlCommand ne prend pas en charge le paramétrage des noms de colonnes. Cependant, nous pouvons construire la requête de manière dynamique au moment de l'exécution.
Pour éviter les attaques par injection, il est crucial de valider que le nom de la colonne d'entrée (« slot » dans ce cas) est approuvé et attendu. Dans cet esprit, nous pouvons construire la requête comme suit :
// TODO: verify that "slot" is an approved/expected value SqlCommand command = new SqlCommand("SELECT [" + slot + "] FROM Users WHERE name=@name; ") prikaz.Parameters.AddWithValue("name", name);
Cette méthode nous permet de paramétrer les valeurs d'entrée comme "@name" tout en construisant dynamiquement la requête en fonction du nom de colonne spécifié.
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!