Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

C# SqlCommand:impossibile utilizzare i parametri per i nomi delle colonne, come risolvere?

Come accennato, non è possibile parametrizzare la query fondamentale, quindi sarà necessario creare la query stessa in fase di esecuzione. Dovresti inserire nella white list l'input di questo, per prevenire attacchi di iniezione, ma fondamentalmente:

// 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);

In questo modo @name è ancora parametrizzato ecc.