我正在从我的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>
到参数集。例如,我存储的proc查询如下所示:
SELECT feature
FROM table1 t1
INNER JOIN @QueryTable t2 ON t1.fid = t2.fid
WHERE title IN <LIST_OF_STRINGS_GOES_HERE>
但是,字符串列表是动态的,并且有数百个长度。
有没有一种方法可以将字符串列表传递List<string>
给存储的过程?还是有更好的方法来做到这一点?
非常感谢,布雷特
using
块中。