datagridview循环求某一列的和

问题遇到的现象和发生背景

本人大小白! 遇到一个问题, 从数据库中循环取出数据,然后显示在datagridview中,再计算datagridview的列数值的总和并显示再testBox中,出现一个问题,第二次计算出得值会与前一次的值累加,

问题相关代码,请勿粘贴截图
            for (int i = 0; i < 3; i++)
            {
                textBox1.Text = "";
                textBox2.Text = "";
                string stra = this.dataGridView2.Rows[i].Cells[0].Value.ToString();
                string MySql = string.Format("SELECT daima,zyjdz,shuliang From table2 WHERE zyjdz='{0}'", stra);
                My_com = new MySqlCommand(MySql, My_conn2);
                MySqlDataAdapter sda = new MySqlDataAdapter(My_com);
                DataSet ds = new DataSet();
                sda.Fill(ds, "table2");


                DataTable dtb1 = ds.Tables[0];
                this.dataGridView1.DataSource = dtb1;

                for (int x = 0; x < dataGridView1.Rows.Count; x++)
                {

                    MessageBox.Show("x");
                    sum += Convert.ToInt32(dataGridView1.Rows[x].Cells[2].Value);

                }
                textBox1.Text = sum.ToString();

            }
运行结果及报错内容

比如说第一次for循环计算的值在textBox1.Text里是2000,按道理第二次循环的值在textBox1.Text里应该是1500,但是实际的值却是3500。。

我的解答思路和尝试过的方法
我想要达到的结果

每次循环得到的值都是单独的值

变量 sum 没有赋初值