В данном случае, самое простое - это вот так:
private void button1_Click(object sender, EventArgs e)
{
conpoezdb.Open();
SqlDataAdapter SDA = new SqlDataAdapter("INSERT INTO train(number,place, count, data, time)VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')", conpoezdb);
SDA.SelectCommand.ExecuteNonQuery();
conpoezdb.Close();
MessageBox.Show("saved");
updateView();
}
private void button4_Click(object sender, EventArgs e)
{
updateView();
}
private void updateView()
{
conpoezdb.Open();
SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM train", conpoezdb);
DataTable data = new DataTable();
SDA.Fill(data);
dataGridView1.DataSource = data;
conpoezdb.Close();
}
В общем, логику обновления datagridview выносим в отдельный метод и дергаем его по нажатию на view и/или по нажатию на save
UPD: ну это при условии, что вам нужна кнопка view
UPD1: вот так вот, если без кнопуи view
private void button1_Click(object sender, EventArgs e)
{
conpoezdb.Open();
//пишем в бд
SqlDataAdapter SDA = new SqlDataAdapter("INSERT INTO train(number,place, count, data, time)VALUES ('" + textBox1.Text + "', '" + textBox2.Text + "','" + textBox3.Text + "','" + textBox4.Text + "','" + textBox5.Text + "')", conpoezdb);
SDA.SelectCommand.ExecuteNonQuery();
//запрашиваем по новой
SqlDataAdapter SDA = new SqlDataAdapter("SELECT * FROM train", conpoezdb);
conpoezdb.Close();
DataTable data = new DataTable();
SDA.Fill(data);
dataGridView1.DataSource = data;
MessageBox.Show("saved");
}