C#SQL Server - 将列表传递给存储过程
我从我的C#代码调用SQL Server存储过程:
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();
我的存储过程是相当标准的但是加入了QueryTable
(因此需要使用存储过程)。
现在:我想List<string>
在参数集中添加一个字符串列表。例如,我的存储过程查询如下所示:
SELECT feature FROM table1 t1 INNER JOIN @QueryTable t2 ON t1.fid = t2.fid WHERE title IN <LIST_OF_STRINGS_GOES_HERE>
但是,字符串列表是动态的,几百长。
有没有办法将字符串列表传递List<string>
给存储过程??? 或者有更好的方法吗?
慕无忌1623718
相关分类