Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

C# SqlCommand - impossible d'utiliser des paramètres pour les noms de colonne, comment résoudre ?

Comme cela a été mentionné, vous ne pouvez pas paramétrer la requête fondamentale, vous devrez donc créer la requête elle-même au moment de l'exécution. Vous devriez ajouter une liste blanche l'entrée de ceci, pour empêcher les attaques par injection, mais fondamentalement :

// TODO: verify that "slot" is an approved/expected value
SqlCommand command = new SqlCommand("SELECT [" + slot +
           "] FROM Users WHERE [email protected]; ")
prikaz.Parameters.AddWithValue("name", name);

Par ici @name est encore paramétré etc.