try
{
    string updata_str;
    myconn.Open();
    for (int i = 0;i<this.dataGrid1.VisibleRowCount - 1 ;i++)
    {
updata_str = "UPDATE [DD] SET Spmc ='"+this.dataGrid1[i,1].ToString()+"',Dj = "+Convert.ToDouble(this.dataGrid1[i,2].ToString())+",Sl ="+Convert.ToDouble(this.dataGrid1[i,3].ToString())+",Je ="+Convert.ToDouble(this.dataGrid1[i,2].ToString())*Convert.ToDouble(this.dataGrid1[i,3].ToString())+"";
OleDbCommand up_data = new OleDbCommand(updata_str,myconn);
up_data.ExecuteNonQuery();
    } 
  myconn.Close();
这里请教一下,datagrid上如果只有一条记录,那update是可以的,但是如果dategrid有多条记录,那么update就乱掉了。比如说有4条记录,我只改动其中一条记录 Dj的值,执行以后4条记录的Dj的值全是我改动的值,请教要如何解决