本人大小白! 遇到一个问题, 从数据库中循环取出数据,然后显示在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 没有赋初值