我有一个带有 person_id
和 name 字段的 SQL Server 数据库。
在我的应用程序中,我有一个 person_id
数组,我需要从我的数据库中获取包含数组中 id 的人员记录。
最佳答案
如果你只想要 SQL 字符串,这应该可以工作:
var sql = "select Person_Name from tbl_Person_Info where Person_Id in ("
+ string.Join( ",", PersonIdList )
+ ")";
请注意,IN 子句中允许的项目数有限制(我认为是 2000)。此外,根据您使用的 .NET 版本,
string.Join
可能具有不同的参数类型,这些类型不允许使用整数列表(它们是整数吗?)。您可能必须先将它们转换为字符串,然后才能加入它们。编辑 :请注意,如果 PersonIdList 项目来自用户输入(并且是字符串),这是非常危险的。我建议在任何可以让您更安全地处理此问题的情况下使用更新的 .NET 技术——例如 LINQ 或 EF。
关于C# 与 SQL Server SELECT WHERE IN 与数据列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5400599/