回答

收藏

SQL选择列表中值的位置

技术问答 技术问答 244 人阅读 | 0 人回复 | 2023-09-14

有没有一种方法可以针对具有指向ArrayList或List的where子句的数据源(可以是sql,oracle或access)创建查询?3 T& ]# _* q6 i9 P" ], b8 n; m
例子:
5 R) }) \9 X' }6 I/ ~& L" q1 E+ O( kSelect * from Table where RecordID in (RecordIDList)& B  z( w" \# o2 n, E4 v
我已经看到了使用Linq的一些方法,但是如果可以避免的话,我宁愿不诉诸于此。
6 U+ R/ L- r9 g5 O  W% ]" R, n               
! j% U& s! a9 D' x' d" e9 T4 l解决方案:/ Q& q; r  J4 ^: S4 M1 @
               
6 S( N7 \% R% T. e& e# a5 m. I5 y9 |& d4 U  ^% \! S# [; U# a* v& a5 B
) M7 I$ W7 {: i! D4 L, E1 p
                您可以使用String.Join。尝试这样的事情:
8 |/ s) s8 F8 X! e, Y. N9 vString query = "select * from table where RecordId in ({0});";
+ f/ j% H) M, z* m0 y9 A+ H! ~, ^7 mString formatted = String.Format(query, String.Join(",", list.ToArray()));1 A" R) d" }3 |* k0 r9 m. g
附带说明,这不能保护您免受SQL注入的侵害-希望本示例将为您指明正确的方向。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则