The DataBound event on dataGridView1 will fire when the data bind is complete. At this point, you can iterate over the GridView.Rows collection to get the data you need for the update of the second database.
How that is done is dependent really on the database you are using and the number of rows you're likely to have in dataGridView1 - ideally, you don't want to be firing a separate query for every row if there are going to be hundreds of them, so look at using a table valued parameter or equivalent if your DBMS permits.
private void dataGridView1_DataBound(object sender, EventArgs e)
{
foreach (GridViewRow row in dataGridView1.Rows)
{
......
}
}