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ố và 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++;
}