Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

C# SqlCommand - nie można używać parametrów dla nazw kolumn, jak rozwiązać?

Jak już wspomniano, nie można sparametryzować podstawowego zapytania, więc będziesz musiał zbudować samo zapytanie w czasie wykonywania. Powinieneś spisać białą listę wkład tego, aby zapobiec atakom iniekcji, ale zasadniczo:

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

W ten sposób @name jest nadal sparametryzowany itd.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dwukierunkowe ograniczenie klucza obcego

  2. Eksportowanie danych w SQL Server jako INSERT INTO

  3. Jak znaleźć zawartość tabeli?

  4. Nie można znaleźć kolumny dbo, funkcji zdefiniowanej przez użytkownika lub agregacji dbo.Splitfn lub nazwa jest niejednoznaczna

  5. Parsowanie OpenXML z wieloma elementami o tej samej nazwie