Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie übergebe ich sqlparameter an IN()?

Sie müssen einen Parameter für jeden Wert erstellen, den Sie in IN haben möchten Klausel.

Die SQL muss wie folgt aussehen:

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

Sie müssen also die Parameter und erstellen der IN -Klausel in foreach Schleife.
Etwas in der Art (aus meinem Kopf, ungetestet):

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++;
}