sql >> Databáze >  >> RDS >> Sqlserver

C# SqlCommand - nelze použít parametry pro názvy sloupců, jak to vyřešit?

Jak již bylo zmíněno, nemůžete parametrizovat základní dotaz, takže budete muset vytvořit samotný dotaz za běhu. Měli byste přidat na seznam povolených vstup tohoto, aby se zabránilo injekčním útokům, ale zásadně:

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

Tímto způsobem @name je stále parametrizován atd.



  1. Chyba syntaxe nebo porušení přístupu:1055 Výraz #8 seznamu SELECT není v klauzuli GROUP BY a obsahuje neagregovaný sloupec

  2. ExecuteNonQuery vrátí -1

  3. Počítejte záznamy v tabulce mysql jako různé sloupce v závislosti na různých hodnotách sloupce

  4. PHP - Jak formátovat data pro in_array