按钮重复加载相同的信息,而不是一次(C#)

按钮重复加载相同的信息,而不是一次(C#),c#,sql,button,bar-chart,C#,Sql,Button,Bar Chart,我正在尝试将SQL Server中的数据加载到条形图上。这一点已经实现,但是当我单击“加载”按钮时,图形的绘制与单击次数成正比。我只希望单击一次即可每周加载数据,其他单击只需刷新,而不会在其他周错误地绘制 单击一下,即可获得所需的输出 单击两次等应该只是刷新图形 , 等等,但我得到了这些结果 以下是加载按钮代码: private void Load_BTN_Click_1(object sender, EventArgs e) { try {

我正在尝试将SQL Server中的数据加载到条形图上。这一点已经实现,但是当我单击“加载”按钮时,图形的绘制与单击次数成正比。我只希望单击一次即可每周加载数据,其他单击只需刷新,而不会在其他周错误地绘制

单击一下,即可获得所需的输出

单击两次等应该只是刷新图形

,

等等,但我得到了这些结果

以下是加载按钮代码:

private void Load_BTN_Click_1(object sender, EventArgs e)
{
        try
        {
            string selectQuery = "SELECT  DATEADD(week, DATEDIFF(week, 0, Date), 0) AS month, SUM(Fuel_Amount) AS Expr1 FROM Fuel_Attendend GROUP BY DATEADD(week, DATEDIFF(week, 0, Date), 0)";
            cmd = new SqlCommand(selectQuery, connection);

            try
            {
                connection.Open();
                dr = cmd.ExecuteReader();

                while (dr.Read())
                {
                    this.chart1.Series["Fuel_Amount"].Points.AddY(dr.GetInt32(1));
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

            connection.Close();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }
    }
` 这是表格:


提前谢谢。

我建议您清除chart1系列 然后添加燃油量系列

如下面代码所示

   private void Load_BTN_Click_1(object sender, EventArgs e)
{

    try
    {
       this.chart1.Series.Clear();
       this.chart1.Series.Add("Fuel_Amount");
        string selectQuery = "SELECT  DATEADD(week, DATEDIFF(week, 0, Date), 0) AS month, SUM(Fuel_Amount) AS Expr1 FROM Fuel_Attendend GROUP BY DATEADD(week, DATEDIFF(week, 0, Date), 0)";
        cmd = new SqlCommand(selectQuery, connection);
        try
        {
            connection.Open();
            dr = cmd.ExecuteReader();
            while (dr.Read())
            {
                this.chart1.Series["Fuel_Amount"].Points.AddY(dr.GetInt32(1));

            }

        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

        connection.Close();
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
这将使图表在单击按钮时刷新


此外,我还建议您在处理SqlCommand和Connection时使用Using block。

是否使用
this.chart1.Series[“Fuel_Amount”]。Points
上除了
AddY
之外还有其他方法<代码>清除可能吗?