Estoy llamando a un procedimiento almacenado de SQL Server desde mi 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();
Mi proceso almacenado es bastante estándar pero se une con QueryTable
(de ahí la necesidad de usar un proceso almacenado).
Ahora: quiero agregar una lista de cadenas List<string>
, al conjunto de parámetros. Por ejemplo, mi consulta proc almacenada es así:
SELECT feature
FROM table1 t1
INNER JOIN @QueryTable t2 ON t1.fid = t2.fid
WHERE title IN <LIST_OF_STRINGS_GOES_HERE>
Sin embargo, la lista de cadenas es dinámica y tiene unos cientos de longitud.
¿Hay alguna forma de pasar una lista de cadenas List<string>
al proceso almacenado? ¿O hay una mejor manera de hacer esto?
Muchas gracias, Brett
using
bloque.