sql >> データベース >  >> RDS >> Sqlserver

sqlparameterをIN()に渡す方法は?

    INに必要な値ごとに1つのパラメーターを作成する必要があります 条項。

    SQLは次のようになっている必要があります:

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

    したがって、パラメータをおよび作成する必要があります IN foreachの句 ループ。
    このようなもの(頭から出て、テストされていない):

    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. DBaaS、クラウド、透過的なクエリルーティング

    2. ユーザー@'localhost'のデータベース''へのアクセスが拒否されました

    3. ORA-00904デコード・エイリアスの識別子が無効です

    4. MicrosoftAccessランタイムを使用する際の落とし穴