Je suis de l'appel d'une procédure stockée SQL Server à partir de mon code C#:
using (SqlConnection conn = new SqlConnection(connstring))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("InsertQuerySPROC", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
var STableParameter = cmd.Parameters.AddWithValue("@QueryTable", QueryTable);
var NDistanceParameter = cmd.Parameters.AddWithValue("@NDistanceThreshold", NDistanceThreshold);
var RDistanceParameter = cmd.Parameters.AddWithValue(@"RDistanceThreshold", RDistanceThreshold);
STableParameter .SqlDbType = SqlDbType.Structured;
NDistanceParameter.SqlDbType = SqlDbType.Int;
RDistanceParameter.SqlDbType = SqlDbType.Int;
// Execute the query
SqlDataReader QueryReader = cmd.ExecuteReader();
Ma procédure stockée est assez standard, mais ne une jointure avec QueryTable
(d'où la nécessité pour les pour les à l'aide d'une procédure stockée).
Maintenant: je veux ajouter une liste de chaînes de caractères, List<string>
, pour l'ensemble de paramètres. Par exemple, ma procédure stockée requête qui va comme ceci:
SELECT feature
FROM table1 t1
INNER JOIN @QueryTable t2 ON t1.fid = t2.fid
WHERE title IN <LIST_OF_STRINGS_GOES_HERE>
Toutefois, la liste des chaînes est dynamique et à une centaine de long.
Est-il un moyen pour passer d'une liste de chaînes de caractères List<string>
à la procédure stockée??? Ou est-il une meilleure façon de le faire?
Merci beaucoup, Brett