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

Comment passer une valeur de nom de colonne en tant qu'argument SQL à l'aide d'espaces réservés

La réponse courte est que vous ne pouvez pas; les paramètres ne sont pris en charge que pour les valeurs , pas pour les noms de colonne .

Vous devez soit vous rabattre sur l'insertion directe de texte comme l'a dit Richard (que cela se produise dans le code ou via l'utilisation de la fonction exec() de SQL Server), soit utiliser une sorte de bibliothèque (comme LINQ) qui vous permet de construire des requêtes dynamiquement, puis convertit cela en une représentation textuelle.

Si vous optez pour l'insertion directe de texte, assurez-vous que vous n'autorisez pas l'insertion directe de l'utilisateur ; faire une sorte de traduction vous-même pour éviter les attaques par injection SQL.