Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Chuyển danh sách vào tham số SQL

Bạn có thể tham số hóa từng giá trị trong danh sách bằng IN mệnh đề:

List<string> names = new List<string> { "john", "brian", "robert" };
string commandText = "DELETE FROM Students WHERE name IN ({0})";
string[] paramNames = names.Select(
    (s, i) => "@tag" + i.ToString()
).ToArray();

string inClause = string.Join(",", paramNames);
using (var command = new SqlCommand(string.Format(commandText, inClause), con))
{
    for (int i = 0; i < paramNames.Length; i++)
    {
        command.Parameters.AddWithValue(paramNames[i], names[i]);
    }
    int deleted = command.ExecuteNonQuery();
} 

tương tự như:

"... WHERE Name IN (@tag0,@tag1,@tag2)"

command.Parameters["@tag0"].Value = "john";
command.Parameters["@tag1"].Value = "brian";
command.Parameters["@tag2"].Value = "robert";

Phỏng theo: https://stackoverflow.com/a/337792/284240




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tải lên nhiều hình ảnh và lưu trữ đường dẫn của chúng trong cơ sở dữ liệu

  2. Chọn trạng thái từ nhiều bảng, với đầu vào biến đổi

  3. Php Mysql Tìm kiếm giữa hai ngày

  4. Vấn đề xác định phạm vi MySql với các truy vấn con tương quan

  5. Bảng tổng hợp MySQL với tiêu đề động dựa trên dữ liệu cột đơn