user2240189
user2240189

Reputation: 315

How to pass Array of params in sql param

I am trying to pass array of parameter to SQL query as a parameterized query.

SELECT D.PATIENTID AS PATIENTID,
        D.FNAME AS FIRSTTNAME
        FROM DETAILS D INNER JOIN PATEINT P ON P.PATIENTID=D.PATIENTID 
        WHERE P.COURSENAME IN ('PA-PA','PA-RO','RO-PA') AND D.STARTDATE BETWEEN '20241201' AND '20241231'

So above query I want to pass as

SELECT D.PATIENTID AS PATIENTID,
        D.FNAME AS FIRSTTNAME
        FROM DETAILS D INNER JOIN PATEINT P ON P.PATIENTID=D.PATIENTID 
        WHERE P.COURSENAME IN (@param1,@param2,@param3) AND D.STARTDATE BETWEEN @AntiParam1 AND @AnitParam2

(@param1,@param2,@param3) will be @AnitParam3

Tried below method:

 List<SqlParameter> params = new List<SqlParameter>();
                        foreach (var o in strPackageCode)
                        {                             
                            SqlParameter paramRef = new SqlParameter();
                            paramRef.ParameterName = "@Param" + params.Count;
                            paramRef.Value = o;
                            params.Add(paramRef);
                        }

And called ExecuteDataSet(Query, parameters); but it takes @AnitParam2 as 'System.Collections.Generic.List`1[System.Data.SqlClient.SqlParameter]'

@AnitParam0=N'20241201',@AnitParam1=N'20241231',@AnitParam2=N'System.Collections.Generic.List`1[System.Data.SqlClient.SqlParameter]'

Upvotes: 0

Views: 68

Answers (0)

Related Questions