Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So übergeben Sie einen Spaltennamenswert als SQL-Argument mithilfe von Platzhaltern

Die kurze Antwort ist, dass Sie nicht können; Parameter werden nur für Werte unterstützt , nicht für Spaltennamen .

Sie müssen entweder auf direktes Einfügen von Text zurückgreifen, wie Richard gesagt hat (ob dies im Code oder über die Verwendung der exec()-Funktion von SQL Server geschieht), oder Sie verwenden eine Art Bibliothek (wie LINQ), mit der Sie Abfragen erstellen können dynamisch und wandelt diese dann in eine Textdarstellung um.

Wenn Sie sich für die direkte Texteingabe entscheiden, stellen Sie sicher, dass Sie nicht zulassen, dass direkte Benutzereingaben eingefügt werden; Übersetzen Sie selbst etwas um SQL-Injection-Angriffe zu vermeiden.