Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak przekazać sqlparameter do IN()?

Musisz utworzyć jeden parametr dla każdej wartości, którą chcesz w IN klauzula.

SQL musi wyglądać tak:

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

Musisz więc utworzyć parametry i IN klauzula w foreach pętla.
Coś takiego (z mojej głowy, nieprzetestowane):

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. SQL Server Wyzwalacz do pracy z wstawianiem wielu wierszy

  2. Zaktualizować tabelę za pomocą JOIN w programie SQL Server?

  3. Utwórz tabelę w SQL Server (T-SQL)

  4. Skonfiguruj Lucene.Net z SQL Server

  5. Nazwy plików SQL Server a wersje