第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C#SQL Server - 將列表傳遞給存儲過程

C#SQL Server - 將列表傳遞給存儲過程

慕森卡 2019-08-06 15:39:21
C#SQL Server - 將列表傳遞給存儲過程我從我的C#代碼調(diào)用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();我的存儲過程是相當(dāng)標(biāo)準(zhǔn)的但是加入了QueryTable(因此需要使用存儲過程)?,F(xiàn)在:我想List<string>在參數(shù)集中添加一個字符串列表。例如,我的存儲過程查詢?nèi)缦滤荆篠ELECT feature  FROM table1 t1  INNER JOIN @QueryTable t2 ON t1.fid = t2.fid  WHERE title IN <LIST_OF_STRINGS_GOES_HERE>但是,字符串列表是動態(tài)的,幾百長。有沒有辦法將字符串列表傳遞List<string>給存儲過程??? 或者有更好的方法嗎?
查看完整描述

3 回答

?
慕無忌1623718

TA貢獻(xiàn)1744條經(jīng)驗 獲得超4個贊

不,數(shù)組/列表不能直接傳遞給SQL Server。

可以使用以下選項:

  1. 傳遞以逗號分隔的列表,然后在SQL中使用函數(shù)拆分列表。逗號分隔列表很可能作為Nvarchar()傳遞

  2. 傳遞xml并在SQL Server中有一個函數(shù)解析列表中每個值的XML

  3. 使用新定義的用戶定義表類型(SQL 2008)

  4. 動態(tài)構(gòu)建SQL并將原始列表作為“1,2,3,4”傳遞并構(gòu)建SQL語句。這很容易發(fā)生SQL注入攻擊,但它會起作用。


查看完整回答
反對 回復(fù) 2019-08-06
  • 3 回答
  • 0 關(guān)注
  • 1010 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號