Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

C# SqlCommand - não pode usar parâmetros para nomes de colunas, como resolver?


Como foi mencionado, você não pode parametrizar a consulta fundamental, então você terá que construir a própria consulta em tempo de execução. Você deve lista branca a entrada disso, para evitar ataques de injeção, mas fundamentalmente:
// 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);

Desta forma @name ainda está parametrizado etc.