Dot-Net

SQL 選擇 List<string> 中的值

  • July 3, 2021

有沒有一種方法可以針對具有指向 ArrayList 或 List 的 where 子句的數據源(可能是 sql、oracle 或 access)創建查詢?

例子:

Select * from Table where RecordID in (RecordIDList)

我已經看到了一些使用 Linq 的方法,但如果可以避免,我寧願不使用它。

你可以使用String.Join. 嘗試這樣的事情:

String query = "select * from table where RecordId in ({0});";
String formatted = String.Format(query, String.Join(",", list.ToArray()));

作為旁注,這不會保護您免受 SQL 注入 - 希望此範例將為您指明正確的方向。

我只做了你試圖用逗號分隔的列表做的事情

Select * from Table where RecordID in (1,2,34,45,76,34,457,34)

或者結果來自單獨的選擇

Select * from Table where RecordID in (select recordId from otherTable where afieldtype=1)

我很確定你無法實現你所追求的……

引用自:https://stackoverflow.com/questions/602544