sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan sender man sqlparameter til IN()?

Du skal oprette en parameter for hver værdi, du ønsker i IN klausul.

SQL'en skal se sådan ud:

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

Så du skal oprette parametrene og IN klausul i foreach loop.
Noget i stil med dette (ud af mit hoved, utestet):

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. Bruger du resultatet af et udtryk (f.eks. funktionskald) i en parameterliste med lagret procedure?

  2. Opgradering til PostgreSQL 11 med logisk replikering

  3. Prisma, hvordan man rydder databasen

  4. Opret en midlertidig tabel i en SELECT-sætning uden en separat CREATE TABLE