ฉันกำลังเรียกใช้กระบวนงานที่จัดเก็บ SQL Server จากรหัส 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();
proc ที่เก็บไว้ของฉันค่อนข้างเป็นมาตรฐาน แต่เข้าร่วมด้วยQueryTable
(ดังนั้นความจำเป็นในการใช้ proc ที่เก็บไว้)
ตอนนี้: ฉันต้องการเพิ่มรายการสตริง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>
ไปยัง proc ที่เก็บไว้หรือไม่ ??? หรือมีวิธีที่ดีกว่านี้หรือไม่?
ขอบคุณมาก Brett
using
บล็อก