【发布时间】:2014-10-14 09:05:47
【问题描述】:
我有一个包含以下列名的 sql 表:c1、c2、c3、c4、c5、c6、c7、c8、c9、c10。我的 Asp.Net 代码 (C#) 中也有一个列表。
public static List listColumns = new List();
而 listColumns 随机包含 c1, c2.. c10。例如,它可以包含 c1、c5、c6、c9。我想用这个条件进行查询。所以,如果列表有这些值,我的查询应该是:
SELECT c1, c5, c6, c9 FROM Table
listColumns 可能包含不同的值并具有不同的计数。我怎样才能定期进行此查询?
【问题讨论】:
-
使用 stringbuilder 并循环列表
-
你可以使用 string.Join 方法。
-
大多数时候我看到像
c1....c100这样的列实际上应该是一个通过外键链接到该表的关系表。你应该重构你的模型,这个过程被称为normalization。那么您的查询将变为:Select value From T2 WHERE t1Id=@ID或Select value FROM T2 WHERE t1IDs IN(1,5,6, 9) -
你是如何查询数据库的?通过 Linq 或 ADO.NET?你对结果做了什么 - 绑定一些东西?
标签: c# sql asp.net sql-server-2008