Reputation: 315
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