Maison > base de données > tutoriel mysql > C# SqlCommand peut-il paramétrer les noms de colonnes sans procédures stockées ?

C# SqlCommand peut-il paramétrer les noms de colonnes sans procédures stockées ?

Susan Sarandon
Libérer: 2024-12-21 14:29:10
original
326 Les gens l'ont consulté

Can C# SqlCommand Parameterize Column Names Without Stored Procedures?

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);
Copier après la connexion

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!

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