C# NET Gridview控件如何显示查询数据?

C# NET Gridview控件如何显示查询数据?,c#,asp.net,sql,gridview,C#,Asp.net,Sql,Gridview,我对Gridview控件显示值有问题;我想对一个表中三列的重复值求和,然后将最终结果放入Fridview单元格。但是数据不能显示在Gridview上,但是我在我的sql management studio中测试了sql命令。它工作得很好,有人能帮我解决吗?谢谢 我的表名是[评估]; 所有列都是:[评估ID]、[工作站]、[日期]……[数字高]、[数字高]、[数字高]、[数字高]、[数字低]。 现在,我使用计数大于1的工作站从评估组中选择SUMnumberOfhigh、SUMnumberOffur

我对Gridview控件显示值有问题;我想对一个表中三列的重复值求和,然后将最终结果放入Fridview单元格。但是数据不能显示在Gridview上,但是我在我的sql management studio中测试了sql命令。它工作得很好,有人能帮我解决吗?谢谢

我的表名是[评估]; 所有列都是:[评估ID]、[工作站]、[日期]……[数字高]、[数字高]、[数字高]、[数字高]、[数字低]。 现在,我使用计数大于1的工作站从评估组中选择SUMnumberOfhigh、SUMnumberOffurther、SUMnumberOflow,以获得重复的工作站总风险

前端代码:

<asp:GridView ID="GridView1" runat="server" style="margin-left: 318px" AutoGenerateColumns="False" Height="269px" Width="440px" >
        <Columns>

           <asp:BoundField HeaderText="High Risk"  DataField="high">           
            <ItemStyle BackColor="Red" />             
            </asp:BoundField>

             <asp:BoundField HeaderText="Further Risk" DataField="further">             
            <ItemStyle BackColor="#CCCCCC" />            
            </asp:BoundField>

              <asp:BoundField HeaderText="Low Risk" DataField="low">              
            <ItemStyle BackColor="#33CC33" />            
            </asp:BoundField>

        </Columns>
    </asp:GridView>
  if (DropDownList2.SelectedIndex == 2 && DropDownList1.SelectedIndex == 1)
            {

                sqlConn.Open();

                string cmdText = "SELECT SUM(numberOfhigh),SUM(numberOffurther),SUM(numberOflow) FROM Assessment GROUP BY workstation HAVING COUNT(*) > 1";
                SqlDataAdapter sda = new SqlDataAdapter(cmdText, sqlConn);
                DataSet ds = new DataSet();
                sda.Fill(ds);
                GridView1.DataSource = ds.Tables[0];
                GridView1.DataBind();


                sqlConn.Close();
            }
您需要在SELECT中使用别名,否则GridView将不知道绑定到什么

SELECT SUM(numberOfhigh) AS high, SUM(numberOffurther) AS further, SUM(numberOflow) AS low
FROM Assessment
GROUP BY workstation HAVING COUNT(*) > 1

例如,在数据库中使用列名作为字段名


将上述代码用于前端

我猜您的查询中缺少列别名。如何编写它,您可以编写一个示例吗?
       <asp:BoundField HeaderText="High Risk"  DataField="numberOfhigh">           
        <ItemStyle BackColor="Red" />             
        </asp:BoundField>

         <asp:BoundField HeaderText="Further Risk" DataField="numberOffurther">             
        <ItemStyle BackColor="#CCCCCC" />            
        </asp:BoundField>

          <asp:BoundField HeaderText="Low Risk" DataField="numberOflow">              
        <ItemStyle BackColor="#33CC33" />            
        </asp:BoundField>

    </Columns>
</asp:GridView>