If you want to update on cell's value change, then you need to handle the [MSDN] DataGridView.CellValueChanged Event
]. In that event, update your Database tables.
And the Error you mentioned about Conversion to Double from String should not ideally happen if the string is in correct format.
Refer - [MSDN] Convert.ToDouble Method (String)
]. There are examples. So, make sure you are providing the correct dtring to convert.