내 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>
저장된 proc 에 문자열 목록을 전달하는 방법이 있습니까 ??? 아니면 더 좋은 방법이 있습니까?
감사합니다, 브렛
using
블록에 있어야합니다 .