Ich rufe eine gespeicherte SQL Server-Prozedur aus meinem C # -Code auf:
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();
Mein gespeicherter Prozess ist ziemlich Standard, führt jedoch eine Verknüpfung mit durch QueryTable
(daher muss ein gespeicherter Prozess verwendet werden).
Jetzt: Ich möchte List<string>
dem Parametersatz eine Liste von Zeichenfolgen hinzufügen . Zum Beispiel sieht meine gespeicherte Proc-Abfrage folgendermaßen aus:
SELECT feature
FROM table1 t1
INNER JOIN @QueryTable t2 ON t1.fid = t2.fid
WHERE title IN <LIST_OF_STRINGS_GOES_HERE>
Die Liste der Zeichenfolgen ist jedoch dynamisch und einige hundert lang.
Gibt es eine Möglichkeit, eine Liste von Zeichenfolgen List<string>
an den gespeicherten Prozess zu übergeben? Oder gibt es einen besseren Weg, dies zu tun?
Vielen Dank, Brett
using
Block befinden.