Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

C# SqlCommand - tidak dapat menggunakan parameter untuk nama kolom, bagaimana cara mengatasinya?

Seperti yang telah disebutkan, Anda tidak dapat membuat parameter kueri mendasar, jadi Anda harus membuat kueri itu sendiri saat runtime. Anda harus daftar putih masukan ini, untuk mencegah serangan injeksi, tetapi pada dasarnya:

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

Lewat sini @name masih diparameterisasi dll.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Migrasikan kolom DateTime SQL Server ke DateTimeOffset

  2. SQL Server dan koneksi terputus di tengah transaksi

  3. Mengonversi hasil Pilih menjadi skrip Sisipkan - SQL Server

  4. Nama kolom atau jumlah nilai yang diberikan tidak sesuai dengan definisi tabel

  5. SQL Server - menggunakan CASE dalam klausa WHERE