Estou chamando um procedimento armazenado do SQL Server do meu código 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();
Meu proc armazenado é bastante padrão, mas faz uma junção com QueryTable
(daí a necessidade de usar um proc armazenado).
Agora: desejo adicionar uma lista de strings,, List<string>
ao conjunto de parâmetros. Por exemplo, minha consulta proc armazenada é assim:
SELECT feature
FROM table1 t1
INNER JOIN @QueryTable t2 ON t1.fid = t2.fid
WHERE title IN <LIST_OF_STRINGS_GOES_HERE>
No entanto, a lista de strings é dinâmica e com algumas centenas de comprimento.
Existe uma maneira de passar uma lista de strings List<string>
para o procedimento armazenado ?? Ou há uma maneira melhor de fazer isto?
Muito obrigado, brett
using
bloco.