C# 连接Sql查询

C# 连接Sql查询,c#,sql-server-2008,C#,Sql Server 2008,我有一个列为pest1、pest2、pest3……pest12的表。下面的查询计算每列的总和 SELECT SUM(pestpopulation1)as pestpopulation1,SUM(pestpopulation2)as pestpopulation2, SUM(pestpopulation3)as pestpopulation3,SUM(pestpopulation4)as pestpopulation4, SUM(pestpopulation5)as pestpopulat

我有一个列为pest1、pest2、pest3……pest12的表。下面的查询计算每列的总和

SELECT SUM(pestpopulation1)as pestpopulation1,SUM(pestpopulation2)as pestpopulation2,
  SUM(pestpopulation3)as pestpopulation3,SUM(pestpopulation4)as pestpopulation4,
  SUM(pestpopulation5)as pestpopulation5,SUM(pestpopulation6)as pestpopulation6,
  SUM(pestpopulation7)as pestpopulation7,SUM(pestpopulation8)as pestpopulation8,
  SUM(pestpopulation9)as pestpopulation9,SUM(pestpopulation10)as pestpopulation10,
  SUM(pestpopulation11)as pestpopulation11,SUM(pestpopulation12)as pestpopulation12 
FROM transformed_table.
我已经为c#中的每一列设置了复选框。我想要的是,无论用户选择哪个选项,查询都应该相应地运行

例如,对于用户检查,pest1和pest2查询应该如下所示

SELECT SUM(pestpopulation1)as pestpopulation1,SUM(pestpopulation2)as pestpopulation2
FROM transformed_table.
有没有办法连接查询,因为如果我为所有可能的选项编写查询,将花费大量时间。

一个简单的示例:

string sql = "SELECT ";
if (checkBox1.Checked) sql += "SUM(pestpopulation1) as pestpopulation1, ";
if (checkBox2.Checked) sql += "SUM(pestpopulation2) as pestpopulation2, ";
// etc.
sql += "'' as dummy";  // Either this or remove the last comma.
sql += " FROM transformed_table;";
这样就行了


但说真的,你应该试一下,然后展示你所做的,只是为了展示你做了些什么。

你可以使用动态SQL。基本上,您可以根据选择的项目编写查询。如果您需要帮助,请告诉我。我对这个plz帮助非常陌生。请给我一个例子。但是出于性能、安全性以及可维护性的原因,它仍然更愿意使用存储过程。无论你从哪个角度来看,C#还是SQL——你仍然需要做同样的查询。我很惊讶你不知道如何做:)谷歌上有大量的例子和一些研究。您在示例中编写的任何内容都应该转移到存储过程中。存储过程是T-SQL编译的