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

Làm cách nào để chuyển sqlparameter tới IN ()?

Bạn phải tạo một tham số cho mỗi giá trị mà bạn muốn trong IN mệnh đề.

SQL cần có dạng như sau:

SELECT userId, username 
FROM Users 
WHERE userId IN (@UserId1, @UserId2, @UserId3, ...) 

Vì vậy, bạn cần tạo các tham số IN mệnh đề trong foreach vòng lặp.
Một cái gì đó như thế này (ngoài đầu tôi, chưa được kiểm tra):

StringBuilder sb = new StringBuilder();
int i = 1;

foreach (User user in UserList)
{
    // IN clause
    sb.Append("@UserId" + i.ToString() + ",");

    // parameter
    YourCommand.Parameters.AddWithValue("@UserId" + i.ToString(), user.UserId);

    i++;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách bỏ một cột có ràng buộc trong SQL Server

  2. Tôi có nên sử dụng! =Hoặc <> cho T-SQL không?

  3. Tại sao lại sử dụng mức cách ly READ UNCOMMITTED?

  4. Bạn có đang đo hiệu suất máy chủ SQL bằng các số liệu này không?

  5. Lỗi máy chủ SQL - HRESULT E_FAIL đã được trả về từ một cuộc gọi đến thành phần COM